自适应图片宽度的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. [flask]flask_login模块,session及其他

    读flask源码的时候,有一点一直到现在都没有一个清晰的概念,比如四个全局变量g,current_app,session,request是怎么做到的 按照查到的资料里面的说法,为了不至于每次都主动调用 ...

  2. Python闭包Closure 2

    由于Python中,变量作用域为LEGB,所以在函数内部可以读取外部变量,但是在函数外不能读取函数内的变量.但是出于种种原因,我们需要读取函数内的变量时候怎么办?那就是在函数内在加一个函数. def ...

  3. php安装编译时 configure: error: Cannot find OpenSSL's <evp.h>

    =============================================== yum install error: protected multilib versions error ...

  4. 理解onPause和onStop

    onPause 用于由一个Activity转到另一个Activity.设备进入休眠状态(屏幕锁住了).或者有dialog弹出时 onStop 用于不可见的Activity(有对话框弹出时,这时底下的a ...

  5. CentOS---网络配置详解

    一.配置文件详解 在RHEL或者CentOS等Redhat系的Linux系统里,跟网络有关的主要设置文件如下: /etc/host.conf         配置域名服务客户端的控制文件 /etc/h ...

  6. Mysql的学习随笔day2

    关于输入中文的问题,各种更改完utf8后仍然乱码. 最后找到一种可行的方法:在insert之前,输入 set names 'gbk' 约束保证数据的完整性和一致性.约束分为表级约束和列级约束,前者可以 ...

  7. SPOJ 10234. Here Be Dragons

    The Triwizard Tournament's third task is to negotiate a corridor of many segments, and reach the oth ...

  8. Codeforces Round #288 (Div. 2) C. Anya and Ghosts 模拟 贪心

    C. Anya and Ghosts time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  9. 反射生成SQL语句入门

    今天我们来学习学习通过反射技术来生成SQL语句. 反射提供了封装程序集.模块和类型的对象.您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型.然后,可以调用类型的方法或访 ...

  10. iOS学习之WebView的使用 (主要是下面的全屏半透明实现)

    1.使用UIWebView加载网页 运行XCode 4.3,新建一个Single View Application,命名为WebViewDemo. 2.加载WebView 在ViewControlle ...