Немного непонятно с данным кодом - почему внутри квадратов выводится цифра 5, а не последовательные 0..4?
Есть версия:
- цикл прогоняется намного быстрее, и пока выполнится первый setTimeout, счетчик уже достиг максимального значения.
$(function() {
for (var i = 0; i < 5; i++) {
setTimeout(function() {
$('.rows').append('<div>' + i + '</div>');
}, 800 * i);
$('.res').text($('.res').text() + " " + i);
}
});
.rows > div {
width: 50px;
height: 50px;
background-color: #3c3;
margin: 5px;
float: left;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="rows">
<div></div>
</div>
<div class="res"></div>
setInterval: WindowTimers – Grundy Mar 25 '16 at 11:05