2

実際のコードを表示している場合、問題はありません。しかし、別のブラウザー タブでしばらく時間を過ごしてから、実行中のコードに戻るとすぐに、タイミング/速度が速すぎます。

jQuery は次のとおりです。

var divId = 1;
var lp = 0;

$(document).ready(function (){

    setInterval(function()
        {
        //<![CDATA[

            if(divId < 6)
            {
                $('.main-banner').animate({ left: lp },400);

                $(".first-icon-inner").removeClass("active-icon");
                $("#banner-"+divId+" div:first").addClass('active-icon');

                    divId++;
                    lp-=550;

            }
            else
            {
                lp = 0;
                divId=1;

                $('.main-banner').animate({ left: lp },400);

                $(".first-icon-inner").removeClass("active-icon");
                $("#banner-"+divId+" div:first").addClass('active-icon');


            }
            //]]>

    }, 3400);

});
4

1 に答える 1

2

jQuery < 1.6.3 にはバグがあります ... jQuery 1.6.3 リリース ノートから抜粋:

バージョン 1.6 にサポートを追加したとき、ブラウザの requestAnimationFrame API に大きな期待が寄せられました。ただし、それ以来最も多く寄せられている苦情の 1 つは、タブが表示されていないときの requestAnimationFrame の動作に関するものです。タブが非表示のときに開始されたすべてのアニメーションは「スタック」され、タブがフォーカスされるまで実行されません。その後、それらはすべてワープ速度でアニメーション化されます! この API のサポートを削除し (jQuery のアニメーション機能を呼び出す方法には影響しません)、jQuery の将来のバージョンに組み込む予定です。

より新しいバージョンに更新することをお勧めします...つまり、jQuery => 1.6.3

于 2012-07-16T09:33:58.377 に答える