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/。この例は問題なく動作し、遅延はありません。バグを見つけるために、コードの機能を 1 つずつ追加し始めます。遅れが見られたら、バグを見つけたことになります。

元の HMLT/CSS がなければ、これが私にできる最善のことです。

于 2012-09-27T15:31:27.413 に答える