自适应图片宽度的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. C#拖拽操作

    C#的拖拽 本文将以Winform为例 有两个主要的事件: DragEnter 拖拽到区域中触发的事件 DragDrop 当拖拽落下的时候出发此事件 饮水思源 参考博客: http://www.cnb ...

  2. modernizr.js的介绍和使用

    原文链接:https://www.cnblogs.com/-simon/p/5907053.html Modernizr帮助我们检测浏览器是否实现了某个feature,如果实现了那么开发人员就可以充分 ...

  3. hdu 4463 第37届ACM/ICPC杭州赛区K题 最小生成树

    题意:给坐标系上的一些点,其中有两个点已经连了一条边,求最小生成树的值 将已连接的两点权值置为0,这样一定能加入最小生成树里 最后的结果加上这两点的距离即为所求 #include<cstdio& ...

  4. DataTable初次使用笔记

    概述:DataTable是一个jQuery插件,用于生成HTML表格,功能很强大. 使用: 使用DataTable需要引入jQuery,因为他是基于jQuery的插件,然后引入DataTable的js ...

  5. Codecademy python

    #1 print "Welcome to Python!" #2 my_variable = #3 # Set the variables to the values listed ...

  6. rapidjson的使用

    1.包含头文件 #include "rapidjson/stringbuffer.h"#include "rapidjson/document.h"#inclu ...

  7. 利用Jenkins实现JavaWeb项目的自动化部署

    修改代码,打包,上传,重启... 大把的时间花费在这些重复无味的工作上.笔者与当前主流的价值观保持一致:我们应该把时间花费在更有意义的事情上.我们可以尝试借助一些工具,让这些重复机械的工作交给计算机去 ...

  8. ConcurrentHashMap JDK 1.6 源码分析

    前言 前段时间把 JDK 1.6 中的 HashMap 主要的一些操作源码分析了一次.既然把 HashMap 源码分析了, 就顺便把 JDK 1.6 中 ConcurrentHashMap 的主要一些 ...

  9. C#关键字var是什么,在何种情况下使用

    从.NET 3.0开始,在方法内部可以使用var关键字声明局部变量.var关键字到底是什么?在何种情况下使用呢? □ var关键字用来隐式地声明一个数据类型,变量类型是在编译期确定的,而不是在运行时确 ...

  10. [Apache] Apache 從 2.2 換至 2.4 httpd.conf 的調整筆記 (windows 環境)

    原文地址: http://www.dotblogs.com.tw/maplenote/archive/2012/07/20/apache24_httpd_conf.aspx 整理一下 Windows ...