我有这个 Javascript 代码,它按预期工作:
<div class="test"></div>
<script>
setTimeout(function(){$(".test").append("test1")},1000);
setTimeout(function(){$(".test").append("test2")},2000);
</script>
<script src="js/jquery.min.js"></script>
它首先显示“test1”,然后在一秒钟后显示“test2”,例如:“test1test2”,这就是我想要的。
当我尝试在 FOR 循环中执行此操作时,如下所示:
var timeInterval = 1000;
for (var i = 0, l = 2; i < l; i++ ) {
setTimeout(function(){$(".test").append("test" + i)},timeInterval);
timeInterval += 1000;
}
然后我先得到“test2”,然后一秒钟后得到“test2”,例如:“test2test2”,这不是我想要的。
事实上,如果 l = 3,那么我得到“test3test3test3”而不是“test1test2test3”。有谁知道如何解决这个问题?