0

我正在开始我的 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);
            });
        }
    }
4

1 回答 1

0

当您试图找到错误时,最好的方法是精简代码,使其尽可能简单。这是您在 jsfiddle 中剥离的代码:http: //jsfiddle.net/r86Hk/。这个例子工作得很好,没有延迟。为了找到你的bug,开始一一添加代码的特性,当你看到延迟时,你就找到了你的bug。

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

于 2012-09-27T15:31:27.413 回答