私は期待どおりに動作するこの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 の場合、「test1test2test3」ではなく「test3test3test3」が返されます。この問題を解決する方法を知っている人はいますか?