目标是在容器边界内的随机位置创建一个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