@AlexSer

Как вывести элементы по очереди каждый через несколько секунд?

Как вывести элементы по очереди каждый через несколько секунд? Делаю через delay, но не работает
var arr=[1,2,3,4,5];
  jQuery.each(arr,function(item) {
            $('#block_info').delay(10000).append(item);
        
    });
  • Вопрос задан
  • 90 просмотров
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
delay не работает с append, лучше делать по классике, через setTimeout
var arr=[1,2,3,4,5];
for(let i = 0; i < arr.length; i++) { // Используем let а не мфк
   let item = arr[i];
   setTimeout(function() {
      $('#block_info').append(item);
   }, 10000*i); // Каждый n-элемент будет появляться через 10*n секунд. 
}
Ответ написан
Комментировать
ZiggiPop
@ZiggiPop
Linux Admin / Frontend Developer
Метод delay() нужно использовать совместно с методом queue(), тогда все получится.
var arr = [1, 2, 3, 4, 5];

$.each(arr, (item, val) => {
  $('#block_info')
    .delay(1000)
    .queue(next => {
      $('#block_info').append(val);
      next();
    });
});


Успехов!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
23 мая 2024, в 09:53
5000 руб./за проект
23 мая 2024, в 09:30
1000 руб./за проект
23 мая 2024, в 09:29
2000 руб./за проект