|
Рандомное время в setInterval
есть функция:
function test(){ alert('random alert'); } нужно чтоб функция выполнялась в разное время (от 1 до 10 секунд) setInterval('test()' //тут рандомное время); можно создать переменную с Math.random() и вставить переменную вместо времени? |
//рандом от min до max function rand(min, max){ return (max-min)*Math.random()+min } // команда return означает то, что функция будет подставлять НА СВОЕ МЕСТО после того как выполнится))) // в данном случае подставляется то, что посчитает выражение (max-min)*Math.random()+min, а оно подсчитает случайное число между числами min и max включая) //тест() function test(){ alert('ня!') } //запускаем тест() используя рандом setInterval('test()' , rand(1000, 10000) ); |
function test(text){ alert('random alert ' + text); } (function runInterval() { interval = Math.random()*1000*9 + 1000; setTimeout(function(){ test(interval); runInterval(); }, interval); })() |
Если не накосячил, а за мной это сегодня наблюдается :) , примерно так
(function() { var x = (Math.random() * 10) + 1 >> 0; alert("следующий вызов ~ " + x + " сек."); setTimeout(arguments.callee, x * 1000); })(); |
мой вариант как обычно лучший)))
помогает понять КАК)) и не содержит ненужных понтов и замыканий и.т.п.)) привет всем) |
Цитата:
|
всем спасибо) выбрал вариант Аватар для Livaanderiamarum'a :)
|
Цитата:
2. Где там замыкание? :) var x = (Math.random() * 10) + 1 >> 0; //эту строку можно запистаь без скобок, т.е. var x = Math.random() * 10 + 1 >> 0; |
Цитата:
Цитата:
|
Цитата:
разве нет)? человеку же не понятно что ты написал) тогда в чем цель твоего обьяснения)? дать готовый вариант? он он не совсем это хотел) я бы предпочел научить его как делать рандом, именно это он и не понимал) |
Часовой пояс GMT +3, время: 03:24. |
|