0
$(window).load(function() {
//Taste the rainbow :)

spectrum();

function spectrum(){
var colorHex = ["#d1ff00", "#ff009c", "#00f0ff", "#707df7", "#ff9000" ];
var colors = colorHex[Math.floor(Math.random()*colorHex.length)];
$('#splash-banner').animate( { backgroundColor: colors }, 4000);
spectrum();
}
});

Chrome 表示频谱功能存在某种错误。看起来可能会出现无限循环。有人可以给我一些指示吗?谢谢

4

1 回答 1

0

.animate()没有阻塞,因此您的spectrum()调用将在执行后立即spectrum执行,并且该过程将重新开始。

将其作为回调传递:

$('#splash-banner').animate( { backgroundColor: colors }, 4000, spectrum);

您将在大约 9000 次迭代后遇到堆栈溢出,但这可能不会成为问题。

于 2013-08-21T07:45:04.040 回答