#ajax #settimeout #fadein
#ajax #время установки #fadein
Вопрос:
Приведенный ниже код извлекает фрагмент html, содержащий заданное количество строк. Некоторые из этих строк относятся к классу newentry. ( class="newentry"
) Я ожидал, что мой код отобразит их с задержкой 1000 м, но все они отображаются одновременно. Почему setTimeout
не происходит ожидание между каждым вызовом каждой строки fadeIn()
?
$.ajax({
url: "@{Live.live(event.mnemonic)}",
success: function(data) {
var wait =0;
$("#results").html(data);
wait =500;
$(".newentry").each(function(){
setTimeout(function() { $('#' this.id).fadeIn(); }, wait);
wait = 1000;
});
}
setTimeout('tick()', 1700-wait);
}
});
Ответ №1:
Попробуйте это
$(".newentry").hide();
$.ajax({
url: "@{Live.live(event.mnemonic)}",
success: function(data) {
$("#results").html(data);
i=500;
$('.newentry').each(function(){
setTimeout(function(){delayedShow($(this))},i);
i=i 500;
});
{
}
});
function delayedShow(obj) { obj.fadeIn(); }
Комментарии:
1. Спасибо, но то, что я пытаюсь сделать, это не показывать все строки сразу. Таким образом, fadeIn для всего набора классов не очень хорош.
2. @user3797731 отредактируйте код, посмотрите, подходит ли он для ваших целей