自适应图片宽度的jQuery焦点幻灯轮播代码

注意要1.7.2版本的jq才支持点击后显示点击的图片,不然就是一直顺序播放

 
XML/HTML Code
  1. <div id="slide_box">
  2. <!-- 幻灯片图片 -->
  3. <ul class="slide_img">
  4. <li><a href=""><img src="1.jpg" width="800" height="450" alt=""></a></li>
  5. <li><a href=""><img src="2.jpg" width="735" height="450" alt=""></a></li>
  6. <li><a href=""><img src="3.jpg" width="371" height="450" alt=""></a></li>
  7. <li><a href=""><img src="4.jpg" width="700" height="450" alt=""></a></li>
  8. <li><a href=""><img src="5.jpg" width="650" height="450" alt=""></a></li>
  9. <li><a href=""><img src="6.jpg" width="670" height="450" alt=""></a></li>
  10. <li><a href=""><img src="7.jpg" width="575" height="450" alt=""></a></li>
  11. </ul>
  12. <!-- 幻灯片序列号 -->
  13. <div id="slide_order"></div>
  14. <div style="clear:both;"></div>
  15. </div>
 
JavaScript Code
  1. /**
  2. * JS文件
  3. */
  4. // 在Chrome测试时一直无法支持jQuery的 $(function(){}) 和 $(document).ready(),所以改用原生window.onload;
  5. window.onload = function (){
  6. /**
  7. * box      幻灯片外框(div)
  8. * uls      幻灯片图片外框(ul)
  9. * order    图片序列号外框(div)
  10. * lis      图片外框(li)
  11. * wdiths   图片集的总宽度
  12. * runtime  定时器自行时间(毫秒)
  13. * latency  定时器延迟时间(毫秒)
  14. * control  控制器,控制定时器的执行
  15. * num      当前li标签在兄弟集合中的位置
  16. * winW     浏览器可视区域宽度
  17. */
  18. var box = $('#slide_box'),uls = $('ul.slide_img'),order = $('#slide_order',box),lis = $('li',uls),widths = 0,runtime = 600,latency = 2000,control,num = 0,winW = $(window).width();
  19. // 计算li标签宽度总和与插入img序号
  20. for (var i = 0; i < lis.length; i++) {
  21. widths += lis.eq(i).width();
  22. order.append('<a href="javascript:vide(0)">'+(i+1)+'</a>');
  23. };
  24. // 设置ul的宽度等于所有li标签宽度的总和;
  25. uls.width(widths);
  26. // 设置box位置居中
  27. box.css({left : (winW - box.width())/2});
  28. // 给第一个序号'1'添加class
  29. order.find('a').removeClass('current').eq(num).addClass('current');
  30. //规定时间后执行函数
  31. control = setTimeout( slide, latency );
  32. // 幻灯片自动运行函数
  33. function slide () {
  34. // 初始化width
  35. var width = 0;
  36. num = num < lis.length - 1 ? (num + 1) : 0;
  37. // box旧的宽度
  38. var old_box_width = box.width();
  39. // box新的宽度
  40. var lis_now_width = lis.eq(num).width();
  41. // 改变box的宽度 = 当前图片的宽度 和 left值
  42. box.animate({width : lis_now_width,left : (winW - lis_now_width)/2},runtime);
  43. // 计算第一张图到当前图片的宽度总和
  44. for (var j = 0; j < num; j++) {
  45. width += lis.eq(j).width();
  46. };
  47. // 设置当前的序号添加class
  48. order.find('a').removeClass('current').eq(num).addClass('current');
  49. // 改变ul的left值
  50. uls.animate({left: 0 - width}, runtime, function () {
  51. control = setTimeout( slide, latency );
  52. });
  53. }
  54. // 点击图片序号函数
  55. $('a',order).live({
  56. click: function () {
  57. // 立即停止uls当前正在执行的动作
  58. uls.stop();
  59. //清除定时器
  60. clearTimeout(control);
  61. num = $(this).index() - 1;
  62. slide();
  63. }
  64. });
  65. };

原文地址:http://www.freejs.net/article_jiaodiantu_72.html

自适应图片宽度的jQuery焦点幻灯轮播代码的更多相关文章

  1. [Jquery]焦点图轮播效果

    $(function(){    var $next=$(".right");    var $prev=$(".left");    var $list_nu ...

  2. jQuery制作焦点图(轮播图)

    焦点图(轮播图) 案例 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  3. jQuery轻量级京东图片轮播代码等

    http://sc.chinaz.com/jiaoben/jiaodiantu.html jQuery轻量级京东图片轮播代码   查看全图点击预览 顶(17)踩(4)报错评论(0)下载地址 更新时间: ...

  4. jquery图片轮播代码

    自己写的轮播代码 来张样式效果图 先贴HTML样式 <body> <div id = "wrap"> <div id="lunbo-img& ...

  5. 基于jQuery可悬停控制图片轮播代码

    基于jQuery可悬停控制图片轮播代码.这是一款可悬停切换全屏轮播jQuery幻灯片.效果图如下: 在线预览   源码下载 实现的代码: <!-- 轮播广告 --> <div id= ...

  6. 基于jQuery游戏网站焦点图轮播特效

    基于jQuery的一款游戏网站焦点图轮播特效.这是一款带进度条定时切换,带缩略图切换的jQuery网站焦点图代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <cente ...

  7. 基于jQuery带进度条全屏图片轮播代码

    基于jQuery带进度条全屏图片轮播代码.这是一款基于jQuery实现的oppo手机官网首页带进度条全屏图片轮播特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  8. JS、JQ实现焦点图轮播效果

    JS实现焦点图轮播效果 效果图: 代码如下,复制即可使用: (不过里面的图片路径需要自己改成自己的图片路径,否则是没有图片显示的哦) <!DOCTYPE html> <html> ...

  9. jquery实现导航图轮播

    版权声明:作者原创,转载请注明出处! 下面的几个栗子是使用jquery实现Banner轮播的效果,直接将代码贴出来,从最初级没有任何优化和封装的写法,一直到最后一个栗子,一步步进行了优化,加大程序的可 ...

随机推荐

  1. [leetcode DP]64. Minimum Path Sum

    一个m*n的表格,每个格子有一个非负数,求从左上到右下最短的路径值 和62,63两个值是同一个思路,建立dp表,记录每个位置到右下角的最短路径的值 class Solution(object): de ...

  2. Visual Studio 2017强制更新方法

    Visual Studio 2017强制更新方法   Visual Studio 2017更新时候,用户都是根据消息提示,进行更新.这样做的好处,就是微软可以分批下发升级包,避免集中更新.不过为了早点 ...

  3. C# String.Format 格式化字符串 数字/时间

    首先献给只想知道结果的人 格式化 DateTime 对象 标准 数字 格式化 Int Decimal Float Double 关于这一块一直不是很清楚,MSDN 上也不够清晰. 就花了点时间敲了一下 ...

  4. 【10.6校内测试】【小模拟】【hash+线段树维护覆盖序列】

    一开始看到题就果断跳到T2了!!没想到T2才是个大坑,浪费了两个小时QAQ!! 就是一道小模拟,它怎么说就怎么走就好了! 为什么要用这么多感叹号!!因为统计答案要边走边统计!!如果每个数据都扫一遍20 ...

  5. bzoj 2850

    比较基础的KD树.每个节点维护一个BOX,包含包含当当前子树的点的最小矩形,以及点权和,然后用“整个矩形都在直线的一侧”和“整个矩形都不在直线的一侧”剪枝. /******************** ...

  6. php在linux后台执行

    <?php ignore_user_abort();//后台运行 ini_set('default_socket_timeout', -1);//socket不超时 set_time_limit ...

  7. h5的部分新元素或属性

    #h5的新元素或属性 - datalist标签(新表单元素):规定了input元素可能的选项列表.   * 条件:datalist的id属性值必须等于input元素的list属性值.          ...

  8. php curl伪造referer

    CURL方式: SOCKET方式: file_get_contents方法: 通过上面的代码,我们就把referer地址伪装为http://www.xxxx.com,你可以写一段代码: $_SERVE ...

  9. systemtap 2.8 安装说明书

    systemtap: a linux trace/probe tool Visit the project web site at <http://sourceware.org/systemta ...

  10. .Net高级技术——IDisposable

    IDisposable概述 GC(垃圾收集器)只能回收托管(Managed)内存资源,对于数据库连接.文件句柄.Socket连接等这些资源(非托管资源,UnManaged)就无能为例,必须程序员自己控 ...