запуск setTimeout с разным временным интрвалом
Добрый день!
Для запуска функции через разный промежуток времени решил воспользоваться 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); То есть сначало останавливаем таймер, а затем заново вызываем таймер..(типо обнуляем результат) Верный подход или возможно что то не так делаю? |
Часовой пояс GMT +3, время: 04:44. |