当我转到浏览器中的另一个窗口时,Jquery函数的计时会发生变化

当我转到浏览器中的另一个窗口时,Jquery函数的计时会发生变化,jquery,Jquery,在这把小提琴里,我有一系列的函数,它们随着特定的时间而跳动 当您运行它时,您可以看到它从顶部到中间再到底部。打开另一个窗口,在另一个窗口打开小提琴的同时,尝试在另一个网页上冲浪几秒钟。当你回到小提琴,你会看到时间已经改变。这是什么原因造成的?我一辈子都搞不清楚发生了什么事 脉冲的代码可以在这里找到 function fadeItIn() { window.setInterval(function(){ // Fade Ins $('#child4,#child4C').

在这把小提琴里,我有一系列的函数,它们随着特定的时间而跳动

当您运行它时,您可以看到它从顶部到中间再到底部。打开另一个窗口,在另一个窗口打开小提琴的同时,尝试在另一个网页上冲浪几秒钟。当你回到小提琴,你会看到时间已经改变。这是什么原因造成的?我一辈子都搞不清楚发生了什么事

脉冲的代码可以在这里找到

function fadeItIn() {

  window.setInterval(function(){

    // Fade Ins
    $('#child4,#child4C').fadeIn(175);
    setTimeout(function () {
        $('#child3,#child3C').fadeIn(175);
    }, 175);
    setTimeout(function () {
        $('#child2,#child2C').fadeIn(175);
    }, 350);
    setTimeout(function () {
        $('#child1,#child1C').fadeIn(175);
    }, 525);
    setTimeout(function () {
        $('#child,#childC').fadeIn(175);
    }, 700);

    // Fade Outs
    setTimeout(function () {
        $('#child,#childC').fadeOut(175);
    }, 875);
    setTimeout(function () {
        $('#child1,#child1C').fadeOut(175);
    }, 1050);
    setTimeout(function () {
        $('#child2,#child2C').fadeOut(175);
    }, 1225);
    setTimeout(function () {
        $('#child3,#child3C').fadeOut(175);
    }, 1400);
    setTimeout(function () {
        $('#child4,#child4C').fadeOut(175);
    }, 1575);  

  }, 3000);    


};

出现此问题的原因是,当选项卡未激活时,setTimeOut函数不起作用。尝试使用上一个动画的回调来触发另一个。

是否使用Chrome?关于非活动选项卡中的setTimeout/setInterval行为,有很多问题被问到。例如:我正在使用chrome是的。哦,我甚至都不知道这有一个真正的话题。我希望有。谢谢,我会仔细阅读的。我知道在非活动选项卡中暂停设置超时是可能的,但我有几个问题要问。如果我暂停一个包装,让我们说10个其他设置超时。那一个家长的设置是否也会暂停其他孩子的设置?是的,会。顺便说一下,您还可以使用.queue()(这是一个jQuery函数)来设置触发事件的顺序。