jQuery实现图片走马灯效果的原理分析


Posted in Javascript onJanuary 16, 2016

本文实例分析了jQuery实现图片走马灯效果的原理。分享给大家供大家参考,具体如下:

这里只讲解水平走马灯效果,垂直向上走马灯效果不讲解,原理一样,但是水平走马灯效果有一个小坑。待会讲解

先上代码:

HTML:

<div class="box">  
  <div style="width: 1000px;" id="boxdiv">
   <ul>
    <li style="display: block;" title="清灵少女宛如梦境仙女"><a href="#">
     <img src="images/110927/11-11092G32227.jpg" /></a></li>
    <li title="美女海边性感透视装诱惑"><a href="#">
     <img src="images/130621/1-130621145931-50.jpg" /></a></li>
    <li title="夏小薇:百变小魔女变身性感数码宝贝"><a href="#">
     <img src="images/130620/19-130620115013.jpg" /></a></li>
    <li title="夏小薇化身《杀破狼》粉色妖姬鲜嫩欲滴"><a href="#">
     <img src="images/130315/5-130315135240.jpg" /></a></li>
   </ul>
  </div>
</div>

在<div class="box">中,再包含了一个div,且设置了一个很比较大的宽度,是为了解决一个在垂直走马灯下没有的坑。该坑的效果是在li标签float为left的情况,不要里面的DIV,会出现图片轮播后,显示中的最后一张图片由下向上的跳动效果,这是float的本身特性造成的,因为父元素宽度不够的情况下,后面的元素会自动往下左沉下去,一旦上面宽度够了,就会自动飘上来,这个飘就会造成显示中的最后一张图片的跳动效果,所以采用内部嵌套一个DIV 并设置<div class="box">的overflow CSS样式来解决该问题。

CSS:

.box
{
 width: 800px;
 height: 200px;
 margin-top: 100px;
 margin-left: 100px;
 overflow: hidden;
}
.box img
{
 border-style: none;
 height: 200px;
}
.box ul
{
 margin: 0px;
 padding: 0px;
 list-style-type: none;
}
.box ul li
{
  float: left;
}

脚本:

<script type="text/javascript">
$(document).ready(function () {
 new ZouMa().Start();
});
function ZouMa() {
 this.maxLength = 3; //最低显示数   
 this.Timer = 2000;//计时器间隔时间
 this.Ul = $(".box ul");
 var handId;//计时器id
 var self = this;
 this.Start = function () {
  if (self.Ul.children().length < this.maxLength) {
   self.Ul.append(self.Ul.children().clone());
  }
  handId = setInterval(self.Play, self.Timer);
 }
 this.Play = function () {
  var img = self.Ul.children().eq(0);
  var left = img.children().eq(0).width();
  img.animate({ "marginLeft": (-1 * left) + "px" }, 600, function () {
   //appendTo函数是实现走马灯一直不间断播放的秘诀。
   //目前网上看到的很多走马灯,走到最后一张的时候,会立马闪回第一张,而不是继续从后往前推进,即是没有明白该函数的作用的原因
   $(this).css("margin-left", "auto").appendTo(self.Ul);
  });
 }
}
</script>

此处照例使用了jquery的动画效果函数animate来实现走马灯效果,并配合appendTo函数来实现无尽播放的效果。

有关appendTo函数的作用请参阅jquery的API文档,animate也请参阅API文档

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
phpwind放自动注册方法
Dec 02 Javascript
javascript 树控件 比较好用
Jun 11 Javascript
Javascript 二维数组
Nov 26 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
JavaScript使用yield模拟多线程的方法
Mar 19 Javascript
jQuery实现带有洗牌效果的动画分页实例
Aug 31 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
javascript jquery对form元素的常见操作详解
Jun 12 Javascript
js实现自动图片轮播代码
Mar 22 Javascript
完美解决浏览器跨域的几种方法(汇总)
May 08 Javascript
微信小程序实现吸顶效果
Jan 08 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
Feb 11 Javascript
JavaScript时间操作之年月日星期级联操作
Jan 15 #Javascript
input点击后placeholder中的提示消息消失
Jan 15 #Javascript
jQuery插件imgPreviewQs实现上传图片预览
Jan 15 #Javascript
实例详解AngularJS实现无限级联动菜单
Jan 15 #Javascript
利用CSS3在Angular中实现动画
Jan 15 #Javascript
JavaScript程序开发之JS代码放置的位置
Jan 15 #Javascript
探讨JavaScript标签位置的存放与功能有无关系
Jan 15 #Javascript
You might like
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
php函数式编程简单示例
2019/08/08 PHP
符合标准的js表单提交的代码
2007/09/13 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
python的else子句使用指南
2016/02/27 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
Tensorflow使用Anaconda、pycharm安装记录
2020/07/29 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
网络研修随笔感言
2014/02/17 职场文书
大学生职业生涯规划书
2014/03/14 职场文书
房产委托公证书样本
2014/04/04 职场文书
节能环保口号
2014/06/12 职场文书
党员查摆剖析材料
2014/10/10 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
个人党性分析总结
2015/03/05 职场文书
生产设备维护保养制度
2015/08/06 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript