Ниже мой HTML OCDE использованием SetTimeout внутри цикла
<div>6</div>
<div>2</div>
<div>7</div>
<div>5</div>
<div>9</div>
<div>4</div>
<div>8</div>
<div>1</div>
<div>3</div>
Я хочу, чтобы цвет текста в DIV, чтобы быть красным в порядке их внутреннего text.First <div>1</div>
текста должен отображать красный цвет и так далее
до сих пор я сделал this-
var divs = document.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
for (var j = 0; j < divs.length; j++) {
if (parseInt(divs[j].innerText, 10) == i + 1) {
(function(index) {
setTimeout(function() {
divs[index].style.color = 'red';
}, j * 1000);
})(j);
}
}
}
Когда я отлаживаю, значения правильно поступают внутри цикла, а css для соответствующего div применяется правильно, но когда я запускаю код, внутренний текст div получает красный цвет в том порядке, который я определил в HTML.
слышал о 'setInterval'? https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval –
Можете ли вы описать на английском языке, какой временной эффект вы хотите выполнить? – Ben
или даже лучше requestAnimationFrame https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame – cocco