如何在不延迟恢复动画的情况下暂停连续幻灯片动画



我正在开始我的jQuery研究。我在制作连续的幻灯片动画时遇到了困难,屏幕上有一些客户的图像。一切都很好,直到用户将鼠标放在正在传递的<ul>上时我尝试暂停该函数。发生这种情况时,动画将停止。但要重新启动,需要很短的延迟(即使有.clearQueue();),这个短延迟仍然存在。如何更正以消除延迟?

功能:

animar('.clientesHome ul');
// pauses / iniciate animation
$('.clientesHome ul').hover(
function () {
$('.clientesHome ul').clearQueue();
$('.clientesHome ul').stop();   
},
function () {
$('.clientesHome ul').clearQueue();
animar('.clientesHome ul');
}
);
function animar(oque) {
if(!stoped){
$(oque).css('left', $(oque).position().left);
$(oque).clearQueue();
var regressivo  = 2000;
$(oque).animate({
left: '-' + $('.clientesHome ul li').width() + 'px'
},  regressivo ,
'linear',
function (){
//
$('.clientesHome ul li:first').clone().appendTo('.clientesHome ul');
$('.clientesHome ul li:first').remove();
$(oque).css('left','0');
animar(oque);
});
}
}

当你试图找到bug时,最好的方法是去掉代码,尽可能简单。这是jsfiddle中的代码:http://jsfiddle.net/r86Hk/.这个例子运行得很好,没有延迟。为了找到你的bug,开始一个接一个地添加代码的功能,当你看到延迟时,你就发现了你的bug。

没有你原来的HMLT/CSS,这是我能做的最好的。

最新更新