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

 更新时间:2016年01月16日 12:07:59   作者:冲杀  
这篇文章主要介绍了jQuery实现图片走马灯效果的原理,结合实例形式较为详细的分析了jQuery实现走马灯的相关html页面设计、css样式布局与jQuery相关函数的使用,需要的朋友可以参考下

本文实例分析了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特效相关内容感兴趣的读者可查看本站专题:《jQuery动画与特效用法总结》与《jQuery常见经典特效汇总

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

相关文章

  • jquery实现烟花效果(面向对象)

    jquery实现烟花效果(面向对象)

    这篇文章主要为大家详细介绍了jquery面向对象实现烟花效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • jQuery实现轮播图效果demo

    jQuery实现轮播图效果demo

    这篇文章主要为大家详细介绍了jQuery实现轮播图效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • jquery实现按Enter键触发事件示例

    jquery实现按Enter键触发事件示例

    按Enter键触发事件比如提交等等,下面有个不错的示例,感兴趣的朋友可以参考下
    2013-09-09
  • jquery单击文字或图片内容放大并居中显示

    jquery单击文字或图片内容放大并居中显示

    这篇文章主要为大家详细介绍了jquery单击文字或图片内容放大并居中显示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 浅谈jquery的html方法里包含特殊字符的处理

    浅谈jquery的html方法里包含特殊字符的处理

    下面小编就为大家带来一篇浅谈jquery的html方法里包含特殊字符的处理。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • jquery Validation表单验证使用详解

    jquery Validation表单验证使用详解

    功能强大的 jquery 表单验证插件,适用于日常的 E-mail、电话号码、网址等验证及 Ajax 验证,除自身拥有丰富的验证规则外,还可以添加自定义的验证规则。兼容 IE 6+, Chrome, Firefox, Safari, Opera 10+
    2015-04-04
  • 使用jQuery实现更改默认alert框体

    使用jQuery实现更改默认alert框体

    本文给大家介绍的是如何使用jquery 改写Alert弹出框样式,十分的实用,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-04-04
  • jQuery实现简易聊天框

    jQuery实现简易聊天框

    这篇文章主要为大家详细介绍了jQuery实现简易聊天框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • jQuery实现圣诞节礼物传送(花式轮播)

    jQuery实现圣诞节礼物传送(花式轮播)

    本文主要对jQuery实现圣诞节礼物传送的方法、思路进行详细介绍,具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • jQuery操作value值方法介绍

    jQuery操作value值方法介绍

    这篇文章介绍了jQuery操作value值的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论