У меня есть набор li, и я хочу установить цвет фона для каждого li после задержки между каждым li.Применить цвет на основе задержки
ex: если 1 ли цвет окрашен в красный цвет, то после некоторой задержки (800) текущий цветной литий должен быть удален, а следующий li должен быть окрашен, должен продолжаться для остальных.
HTML
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
JQuery
$('ul').each(function(i, j){
$(this).eq(i).css('background-color', 'red').delay(1000).removeAttr('style');
});
Пожалуйста, поправьте меня, где я ошибаюсь.
эй, это работает хорошо :), но я был только гадать, это может быть сделано с помощью .delay и еще оптимизированный код, Вы можете, пожалуйста, покажите мне это можно сделать без использования setTimeout. –
Да, конечно, один момент. Метод, который я опубликовал выше, - это то, что впервые появилось на ум. –
Редактировать - это невозможно с '.delay()'. '.delay() 'работает только для методов на основе очередей, таких как анимации, а не' css() 'или' removeAttr() '. Кроме того, нет ничего плохого в использовании 'setTimeout()', так как это то, что jQuery использует внутри с 'delay()'. –