版权声明:JiahaoZhang原创文章,转载请注明出处 https://blog.csdn.net/GrootBaby/article/details/84959589
var timer = null;
//获得当前滚动盒子scrollBox
var ulList = $(".scroll ul.scrollBox");
//获得当前scrollBox里面滚动元素的个数
var ulNum = $(".scroll ul.scrollBox").children("li").length;
if (ulNum > 2) {
timer = setInterval(function() {
scrollList(ulList);
}, 4000);
//鼠标经过清空定时器
ulList.hover(function() {
clearInterval(timer);
}).mouseleave(function(){
timer = setInterval(function() {
scrollList(ulList);
}, 4000);
})
}
//滚动动画
function scrollList(obj) {
//获得当前<li>的边距大小
var scrollMargin= parseInt($("ul.scrollBox li:first-child").css('marginRight'));
//获得当前<li>的高度
var scrollHeight = $("ul.scrollBox li:first").width() + scrollMargin;
//滚动出一个<li>的高度+边距
obj.stop().animate({
marginLeft: -(scrollHeight+scrollMargin)
}, 2000,
function() {
//动画结束后,将当前<ul>margin置为初始值0状态,再将第一个<li>拼接到末尾。
obj.css({
marginLeft: 0
}).find("li:first").appendTo(obj);
});
}