Этот скрипт изменяет текст DIV каждые 5 секунд, но, он запускается через 5 секунд, как мне сделать первое изменение текста после загрузки страницы, а затем каждые 5 секунд?
var text = ["1", "2", "3", "4", "5"];
var counter = 0;
var elem = document.getElementById("textas");
var inst = setInterval(change, 5000);
function change() {
elem.innerHTML = text[counter];
counter++;
if (counter >= text.length) {
counter = 0;
// clearInterval(inst); // uncomment this if you want to stop refreshing after one cycle
}
}
Почему бы просто не запустить change() при загрузке страницы? Тогда setInterval сделает это. jsfiddle.net/nvu90cy2/1
Возможный дубликат Выполнить функцию setInterval без задержки в первый раз



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вызвать функцию изменение один раз, косвенно из setInterval метод.
Кроме того, вы можете установить максимальное количество вместо использования массива, который содержит все ваши итерации.
var counter = 0,
maxNumber = 5,
elem = document.getElementById('textas'),
inst = setInterval(change, 5000);
function change() {
counter++;
elem.innerHTML = counter;
if (counter >= maxNumber) {
counter = 0;
}
}
change();<h1 id = "textas"></h1>Вы можете немного уменьшить это, используя операцию модуля для counter = ++counter % maxNumber;.
Это, несомненно, короче, но мне пришлось бы установить maxNumber на 6, чтобы иметь возможность достичь числа 5, что может немного сбить с толку.
В любом случае твоего числа никогда не будет пять. 4 становится 5, затем 5 == 5, поэтому оно становится равным нулю. то же самое, когда 4 становится 5, 5% 5 становится нулем
Действительно. Я допустил небольшую ошибку. Я должен был использовать innerHTML, прежде чем очищать считать. Редактирую свой ответ.
На самом деле этот ответ отклоняется от OP, как сейчас. Он не использует массив, который они пытаются использовать.
Поскольку он использует этот массив и предоставил эту небольшую информацию, я подумал, что лучше не использовать этот массив. Похоже, он не знал, что ему не нужно хранить каждую итерацию.
вызвать change () и сразу установить интервал?