我在这个JSFiddle中有一个脉冲动画
当你单独使用它时,它可以正常工作。我遇到的问题是当我开始浏览网页,打开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秒间隔期间。我需要重复脉冲,所以我需要它。
你们有什么想法导致这个问题,我该如何解决?
答案 0 :(得分:0)
您可以做的一件事是将一个设置超时放在另一个设置中。
现在你有 setTimeout(,time); setTImeout(,time * 2); setTImeout(,time * 3);
也许你改成这个: setTimeout(... setTimeout(... setTimeout(...,time),time),time);
所以这将确保执行顺序。第一个将始终执行。