本文实例分析了jquery实现图片走马灯效果的原理。分享给大家供大家参考,具体如下:
这里只讲解水平走马灯效果,垂直向上走马灯效果不讲解,原理一样,但是水平走马灯效果有一个小坑。待会讲解
先上代码:
HTML:
<div class="box">
<div style="width: 1000px;" id="boxdiv">
<ul>
<li style="display: block;" title="清灵少女宛如梦境仙女"><a href="#">
@@##@@</a></li>
<li title="美女海边性感透视装诱惑"><a href="#">
@@##@@</a></li>
<li title="夏小薇:百变小魔女变身性感数码宝贝"><a href="#">
@@##@@</a></li>
<li title="夏小薇化身《杀破狼》粉色妖姬鲜嫩欲滴"><a href="#">
@@##@@</a></li>
</ul>
</div>
</div>
在
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程序设计有所帮助。



每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号