我知道乍一看(由於標題),這看起來像是「在發佈之前您是否嘗試搜索Google?」之一。問題,但我似乎無法找到我遇到的具體問題的答案。對不起,如果我是noob ....仍在學習:)在JavaScript中連續觸發多個隨機超時
我需要模擬JavaScript中的暫停,但setTimeout(function_call,timeout)函數不適用於我。原因在於,當setTimeout函數被調用時,它會異步地進行函數調用。
小背景:
我試圖模擬隨機時間間隔輸入到div的文本。我希望它看起來好像一個人在用戶查看頁面時實際上正在鍵入一條消息。由於超時是一個隨機時間間隔,並且函數調用是異步進行的,因此文本將以隨機順序打印。
這裏是什麼我迄今片段:您的幫助
typeString: function(s)
{
for(var i=0;i<s.length;i++)
{
var c = s.charAt(i);
var temp = setTimeout("MessageType.typeChar('" + c + "')", this.genRandomTime());
}
}
在此先感謝。
CJAM
更新:通過增加計時器延遲到varialbe,它使我能夠偏差逾異步調用。謝謝大家的快速回復。以下是更新的代碼:
typeString: function(s)
{
var delay = 0;
for(var i=0;i<s.length;i++)
{
var c = s.charAt(i);
setTimeout("GoogleTyper.typeChar('"+c+"')", delay += this.genRandomTime());
}
}
我喜歡你的答案,因爲它非常深入,但是我必須把它歸功於Stuart B,因爲他在你之前發佈了它。西方常規賽中速度最快的槍:(希望其他人會喜歡你,併爲你贏得好成績和幫助而贏得一些積分。謝謝你! – regex 2009-02-07 06:53:43