Tag: settimeout

我怎样才能将一个parameter passing给setTimeout()callback?

我有一些JavaScript代码,如下所示: function statechangedPostQuestion() { //alert("statechangedPostQuestion"); if (xmlhttp.readyState==4) { var topicId = xmlhttp.responseText; setTimeout("postinsql(topicId)",4000); } } function postinsql(topicId) { //alert(topicId); } 我得到一个错误, topicId没有被定义一切工作之前,我使用setTimeout()函数。 我想要一段时间后调用postinsql(topicId)函数。 我该怎么办?

用setTimeout()调用函数

简单的说… 为什么 setTimeout('playNote('+currentaudio.id+', '+noteTime+')', delay); 完美的工作,在指定的延迟之后调用函数,但是 setTimeout(playNote(currentaudio.id,noteTime), delay); 同时调用函数playNote? (这些setTimeout()在for循环中) 或者,如果我的解释太难阅读,这两个函数有什么区别呢?

将正确的“this”上下文传递给setTimeoutcallback函数?

如何将上下文传递给setTimeout ? 我想调用this.tip.destroy()如果this.options.destroyOnHide 1000毫秒后。 我怎样才能做到这一点? if (this.options.destroyOnHide) { setTimeout(function() { this.tip.destroy() }, 1000); } 当我尝试以上时, this是指窗口。

为什么我的函数调用应该通过setTimeout立即执行?

这是我的问题。 我有这个功能来测试代理服务器。 function crawl() { var oldstatus = document.getElementById('status').innerHTML; document.getElementById('status').innerHTML = oldstatus + "Crawler Started…<br />"; var url = document.getElementById('url').value; var proxys = document.getElementById('proxys').value.replace(/\n/g,','); var proxys = proxys.split(","); for (proxy in proxys) { var proxytimeout = proxy*10000; setTimeout(doRequest(url,proxys[proxy]), proxytimeout); } } 我希望“doRequest()”函数能以大约10秒的间隔被调用,但即使使用setTimeout()函数也会立即调用。 欢迎任何想法,谢谢。 PS:即使我为“proxytimout”放置了一个任意值,也没有任何影响。