Добрый день!
Для запуска функции через разный промежуток времени решил воспользоваться setTimeout,
с setInterval еще не понял как делать.
Вот код
var timearr=new Array(1000,200,500,150,3000,1500,1700,2000); /*массив со временем*/
var getelemcount=timearr.length; /*длина массива*/
var i=0;
var timer=setTimeout(function(){ /*вызов таймера*/
i++; /*увеличение на 1*/
var getrez=timearr[Math.floor(Math.random()*getelemcount)]; /*присваиваем переменной рандомное значение из массива со временем*/
if (i <getelemcount) /*если i меньше кол-ва элементов массива*/
{
setTimeout(arguments.callee, getrez); /*продолжаем вызывать setTomeout ,но уже со временем указанным случайным образом*/
alert(getrez); /*просто тестовый вывод результат*/
}else{
clearTimeout(timer); /*останаваливаем таймер*/
i=0;
setTimeout(arguments.callee, 1000);
}
},1000);
Код работает.
Вопрос, правильно ли я сделал остановку таймера.Ведь непрерывное срабатывание таймера несет нагрузку.
clearTimeout(timer); /*отанаваливаем таймер*/
i=0;
setTimeout(arguments.callee, 1000);
То есть сначало останавливаем таймер, а затем заново вызываем таймер..(типо обнуляем результат)
Верный подход или возможно что то не так делаю?