自适应图片宽度的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. 解决springboot项目中@Value注解参数值为null的问题

    1.错误场景: springboot项目中在.properties文件(.yml)文件中配置了属性值,在Bean中使用@Value注解引入该属性,Bean的构造器中使用该属性进行初始化,此时有可能会出 ...

  2. 「HNOI2018」转盘

    「HNOI2018」转盘 现场推出了大部分结论但是只写了 \(40\) 分暴力,被贺指导踩爆,现在还有点怀念 HNOI2018 贺指导对着镜子荒野行动的日子,那几天他云球迷瞎**指点篮球,被送上指导称 ...

  3. POJ1151 Atlantis 水题 计算几何

    http://poj.org/problem?id=1151 想学一下扫描线线段树,结果写了道水题. #include<iostream> #include<cstdio> # ...

  4. Linux下gcc与g++用法以及编写makefile

    1.         gcc与g++编译流程: 1)         编译流程: 2)         预处理:生成.i的预处理文件. Ø 只激活预处理,这个不生成文件,需要把它重定向一个输出文件. ...

  5. poj 2777 线段树 区间更新+位运算

    题意:有一个长板子,分成多段,有两种操作,第一种是C给从a到b那段染一种颜色c,另一种是P询问a到b有多少种不同的颜色.Sample Input2 2 4  板长 颜色数目 询问数目C 1 1 2P ...

  6. 解决请求参数的中文乱码问题(get、post)

    2018-11-28 在web请求与响应中,会遇到乱码问题,比如填写表单数据时,难免会输入中文,姓名.公司名称等.由于HTML设置了浏览器在传递请求参数时,采用的编码方式是UTF-8,但在解码时采用的 ...

  7. (转,记录用)jQuery页面加载初始化的3种方法

    jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(functio ...

  8. linux基础环境部署

    Content 0.序 1.更新安装库 2.安装基础库 0.序 本文主要是记录php在 Centos下的安装配置 .文中如无特别说明.表示php-5.6.31代码目录. 1.更新安装库 $ yum u ...

  9. Memcached (第一篇)

    Memcached是“分布式”的内存对象缓存系统,那么不需要“分布”的.不需要共享的或者干脆规模小到只有一台服务器的应用,Memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要 ...

  10. mysql官网文档调试MYSQL资料 5.7

    http://dev.mysql.com/doc/refman/5.7/en/debugging-server.html