jQuery спит в «каждой» итерации и вызывает функцию, когда итерация выполнена - PullRequest
0 голосов
/ 22 октября 2018

Я хочу просмотреть каждый элемент определенного класса и показать их один за другим, но между ними будет случайная задержка.

Сложность в том, что я хочу сделать это линейномода, поэтому я не начинаю новый поток для каждого элемента, так как тогда элементы будут отображаться случайным образом (поскольку задержка также случайна).

После того, как это будет сделано, я хотел бы запустить другойчасть кода.

То, что у меня сейчас выглядит, выглядит так, но вы можете видеть, что задержка установлена ​​на фиксированную величину (чтобы не портить порядок элементов)

jQuery('.myclass').each(function(index) { 
    jQuery(this).delay(1000 * index).fadeIn(0); 
}).promise().done(function() {
    //run code that has to run when the iteration is finished
});

Есть ли другой способ добиться этого, когда мне может даже не понадобиться использовать обещание и обратный вызов для того, когда должна быть выполнена итерация?

Более линейный подход, где я бы "спал""между итерациями, как это?

jQuery('.myclass').each(function(index) {
    jQuery(this).show(); 
    //sleep somehow for 1 or 2 seconds
})
//run code that has to run when the iteration is finished
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...