目標はコンテナの境界内のランダムな場所にdivを作成し、3秒待ってからdivを破棄します。すすぎ、3回繰り返します。しかし、私が知ることから得られる結果は、setTimeoutが3秒間待機している間、コードは「ループ」を続け、3秒後にsetTimeout内の関数が実行されます。私は誤って2つのスレッドを作成しましたか?なぜコードは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