未捕获范围错误:超出最大调用堆栈大小(执行背景颜色切换器功能时)
Uncaught RangeError: Maximum call stack size exceeded (when doing a background color switcher function)
$(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();
}
});
铬表示频谱功能存在某种错误。看起来可能会有一个无限循环。有人可以给我一些指示吗?谢谢
.animate()
不会阻塞,因此您的spectrum()
调用将在执行spectrum
后立即执行,并且该过程将重新开始。
将其作为回调传入:
$('#splash-banner').animate( { backgroundColor: colors }, 4000, spectrum);
大约 9000 次迭代后,您会遇到堆栈溢出,但这可能不会成为问题。
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JavaScript执行暂时挂起页面
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 当js函数's已执行
- 哪个先执行
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- HTML表单提交时未执行外部函数
- 在Safari执行javascript之前对其进行修改
- Amd,希望确保某个东西总是最后执行
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在执行此特定onclick事件时执行JavaScript函数
- 可以在这里为背景图像设置滤镜吗
- 如何使用jquery更改html中的背景颜色
- 使用 js 将背景图像设置为 HTML
- 未捕获范围错误:超出最大调用堆栈大小(执行背景颜色切换器功能时)
- 谷歌Chrome扩展-执行音频播放器页面的背景
- 当鼠标悬停在菜单项上时,在执行fadeIn之前等待背景图像淡出完成