自定义Div滑块过快,但仅在从其他浏览器选项卡返回时

时间:2012-07-16 09:15:01

标签: javascript jquery jquery-animate browser-tab

当我查看代码时,没有问题。但是只要我花一些时间在另一个浏览器选项卡上,然后返回到代码中,时间/速度就太快了。

这是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);

});

1 个答案:

答案 0 :(得分:2)

jQuery有一个错误&lt; 1.6.3 ......摘自jQuery 1.6.3 release notes

  

当我们在版本1.6中添加支持时,我们对浏览器的requestAnimationFrame API寄予厚望。但是,自那时以来我们收到的最高投诉量之一与requestAnimationFrame在标签不可见时的行为方式有关。当标签不可见“堆叠”时,所有动画都会启动,并且在标签重新聚焦之前不会执行。然后他们都以翘曲的速度制作动画!我们已经删除了对此API的支持(这对您调用jQuery动画功能的方式没有影响),并计划将其合并到未来版本的jQuery中。

我建议您更新到更新的版本...即jQuery =&gt; 1.6.3