Я пытаюсь использовать <delay>
для задержки события, например, изменить цвет фона. Я хочу, чтобы событие соответствовало времени задержки, которое я хочу, но результат показывает, что они не в том порядке, в котором я хочу. Я ожидаю, что первый станет красным за 1 секунду. Затем второй становится красным через 2 секунды. Затем третий становится красным на 0,8 секунды. И я не знаю, как сделать их разными. Большое спасибо за помощь.Задержка на событии, например изменение цвета фона div
$(document).ready(function(){
var delayTime = [1000, 2000, 800];
var bcolor = ['red','blue','green'];
var i = 0;
$('#play').click(function(){
$('div').each(function(){
$(this).delay(delayTime[i]).queue(function(next){
$(this).css('background','red'); \t \t \t \t \t \t \t \t
next();
});
i++;
}); // end of each
});
}); // end ready
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
<div id="red" style="width:100px; height: 100px; background-color: white" ></div>
<div id="blue" style="width:100px; height: 100px; background-color: white"></div>
<div id="green" style="width:100px; height: 100px; background-color: white"></div>
<button id="play">Play</button>
<h1 id="test"></h1>
дубликаты @GCyrillus ответ по существу –