我目前有一個函數,它使用setTimeout()
函數內部的alert()函數創建警報,並嵌套在for循環中。如何讓setTimeout在警告框打開後立即開始計數
因此,它看起來像這樣
for(i<10){
setTimeout(function(param){
alert(param);
3000, param);
i++
}
我有,當我做到這一點,計時器只啓動後,我點擊提示框確定計數的問題。
因此,第一個警報彈出,我點擊確定,3秒鐘後第二個框出現。
相反,我希望能夠有第一個警報出現,等待3秒,按確定,並出現第二警報立即
我怎麼能這樣做呢?
編輯:我試過setInterval不是setTimeout建議,但它似乎讓我卡在一個設置的時間間隔循環?
這裏是我的代碼:
for (var product in cart) {
alert(product);
setTimeout(function(item) {
alert("Name: " + item + ": Quantity: " + cart[item]);
}, i * 3000, product);
i++;
}
我只是試圖在使用setInterval更換setTimeout的,我也嘗試過clearInterval之後與箱甚至沒有出現
你應該使用'setInterval',而不是你做了什麼。另外,您的for循環無效。它應該是一個while循環,如果有的話...... –
哪裏是項目被定義? –
爲什麼在setTimeout中有三個參數? –