как исправить скрипт изменения цвета элемента по времени?
как исправить этот скрипт, чтобы он можно было расположить элементы с классом day_0, day_1, day_2, day_3, day_4,day_5 и day_6 в случайном порядке,
если элементы расположены по порядку возрастанания, как сейчас, всё работает отлично, а если расположить в случайном порядке, то независимо от названия класса первого элемента, скрипт остсчитывает минуты с начала воскресенья для первого элемента
и если добавить ещё несколько элементов с этими классами на страницу, скрипт вообще начинает отсчытывать минуты непонятно с какого дня. скрипт должен изменять цвет элемента, начиная отсчёт с воскресенья для day_0, с понедельника для day_1, с вторника для day_2, и т.д. для других дней недели, (day_3, day_4,day_5 и day_6) независимо в каком порядке расположены элементы, и сколько этих элементов на странице
<html>
<head>
<meta charset="utf-8"><style>
.nik {
font: 16px serif;
color: #666;
}
#data,
.day_0,
.day_1,
.day_2,
.day_3,
.day_4,
.day_5,
.day_6 {
font: 25px serif;
}
</style>
</head>
<body>
<span class="day_0">test</span><br>
<span class="day_1">test</span><br>
<span class="day_2">test</span><br>
<span class="day_3">test</span><br>
<span class="day_4">test</span><br>
<span class="day_5">test</span><br>
<span class="day_6">test</span>
<script>
var elems = document.querySelectorAll('[class^="day"]');
var days = ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'];
function checkMin(m) {
var color = '';
if (m >= 0 && m < 1440) color = '#090';
else if (m >= 1440 && m < 5510) color = '#f00';
else if (m >= 5510 && m < 5755) color = '#00f';
else if (m >= 5755 && m < 10080) color = '#099';
return color;
}
function renewal(d, elems) {
var thisMin = d.getHours() * 60 + d.getMinutes();
var index = d.getDay();
var len = 0;
for(var i = index; i >= len; i--) {
elems[i].innerHTML = 'С начала ' + days[i] + ', до текущей минуты, прошло ' + thisMin + ' мин';
elems[i].style.color = checkMin(thisMin);
thisMin += 1440;
if(i === 0) {
i = elems.length;
len = index + 1;
index = elems.length + 1;
}
}
}
renewal(new Date(), elems);
</script>
</body>
</html>```