Я пытаюсь непрерывно прокручивать массив значений чисел, которые будут переданы функции setInterval в качестве значения задержки, которое запускает другую функцию. Вот что у меня есть:Зацикливание через массив и отсрочка функции
HTML:
<p>On</p>
JavaScript:
$(document).ready(function(){
var timing = [5000, 10000, 17000, 8000, 14000, 9000, 12000, 8000, 20000, 7000, 13000, 7000, 17000, 8000, 13000, 12000, 18000]
//function to change
function change(){
var p = $("p").html();
if(p === "On"){
$("p").html("Off");
} else {
$("p").html("On");
}
}
function myFunction(){
for (var i = 0; i < timing.length; i++){
var switchTime = timing[i];
setInterval(function(){
change();
},switchTime);
}
} myFunction();
});
Я хотел бы иметь функцию огнь изменения непрерывно в различном запаздывающий раз. Прямо сейчас время не кажется правильным, когда я запускаю его. Любые предложения приветствуются. Благодаря!
Что именно не за работой? Опишите ваши ожидания и фактические результаты. –
В соответствии с числами в массиве синхронизации я ожидаю, что функция изменения будет срабатывать непрерывно каждые 5, 10, 17, 8, 14 и т. Д. Секунд. Исход сейчас состоит в том, что текст в теге p меняется, но не в эти интервалы. Я подозреваю, что моя функция удерживается на предыдущих интервалах. –
Это то, что я имел в виду - вы повторяете одну и ту же функцию снова и снова, поэтому, конечно, вы действительно можете иметь эти интервалы, но впечатление обманчиво. –