viy*_*ncs 4 javascript ajax dom
我在递归函数时遇到问题.我在firebug中得到错误
太多的递归
这是我的javascript代码:
var contentPc = "list";
waitForBody(contentPc);
function waitForBody(id){
var ele = document.getElementById(id);
if(!ele){
window.setTimeout(waitForBody(contentPc), 100);
}
else{
//something function
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能解决这个问题?感谢您的回答.
据推测,您id="list"的DOM中没有元素.这意味着您的初始waitForBody通话将在此处结束:
window.setTimeout(waitForBody(contentPc), 100);
Run Code Online (Sandbox Code Playgroud)
这将waitForBody(contentPc)在构建参数列表时调用setTimeout.然后你又回到了setTimeout呼叫状态,但又有一个堆栈级别.我想你的意思是这样说:
window.setTimeout(function() { waitForBody(contentPc) }, 100);
Run Code Online (Sandbox Code Playgroud)
这样下次waitForBody通话就会延迟一点.
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |