在计算机Jquery中使用其他函数时,循环更改的时间

时间:2013-08-20 04:02:22

标签: jquery

我在这个JSFiddle中有一个脉冲动画

http://jsfiddle.net/upBdw/8/

当你单独使用它时,它可以正常工作。我遇到的问题是当我开始浏览网页,打开iTunes或者当窗口仍然打开时你会做的其他事情时,脉冲的时间开始波动。

脉冲的功能如下:

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);   
};

我觉得问题发生在功能中的3秒间隔期间。我需要重复脉冲,所以我需要它。

你们有什么想法导致这个问题,我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以做的一件事是将一个设置超时放在另一个设置中。

现在你有 setTimeout(,time); setTImeout(,time * 2); setTImeout(,time * 3);

也许你改成这个: setTimeout(... setTimeout(... setTimeout(...,time),time),time);

所以这将确保执行顺序。第一个将始终执行。

相关问题