|
Рандомное время в 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, время: 06:43. |
|