目標是在容器邊界內的隨機位置創建一個div,等待3秒鐘然後銷燬div;沖洗並重復3次。然而,根據我所知,結果是,雖然setTimeout等待三秒,但代碼繼續'循環',並且僅在3秒內setTimeout內部的函數才執行。我無意中創建了兩個線程嗎?爲什麼代碼跳過setTimeout,只有稍後才趕上?
$(document).ready(function() {
var $bug = "<div class='bug'><div>";
var x = 0;
var timer = setInterval(function() {
if (x > 3) {
clearInterval(timer);
}
r1 = Math.floor((Math.random() * 270) + 1);
r2 = Math.floor((Math.random() * 270) + 1);
$('#container').append("<div class='bug'style='top:" + r1 + "px;left:" + r2 + "px;'></div>")
x++;
setTimeout(function() {
$('.bug').remove();
}, 3000)
}, 1000);
});
我對此有一種感覺;將調查,謝謝。 – brooklynsweb