Вход

Просмотр полной версии : Объясните про setInterval


Lomako
27.08.2008, 18:16
Можно ли в параметрах функции setInterval время работы в параметрах указать не постоянное, а рэндомное?

Скажем,

var a = Math.ceil(Math.random()*4)*1000;

setInterval(myFunc, a);

В таком примере setInterval определяет переменную а единожды и работает через равные промежутки вермени, а можно их определять каждый раз заново?

Division
27.08.2008, 18:30
function myFunc() {
clearInterval(intr);
var a = Math.ceil(Math.random()*4)*1000;
intr = setInterval(myFunc,a);
}

var a = Math.ceil(Math.random()*4)*1000;
intr = setInterval(myFunc, a);

Что-то вроде этого?

Lomako
27.08.2008, 18:34
Гениально, огромное вам спасибо)))

Жень Шень
27.08.2008, 18:55
Привет!
Вариант:
function myFunc() {
var a = Math.ceil(Math.random()*4)*1000;
intr = setTimeout(myFunc, a);
trace(a)
}
myFunc()

Lou
29.08.2008, 01:14
Объясните пожалуйста, как работает чудо-setTimeout. В 2-3 предложениях. Спасибо.

Division
29.08.2008, 01:35
Учебник / справку лень почитать? ИМХО спрашивать такие вещи не есть хорошо.
setTimeout(myFunc,1000) единожды вызовывает функцию myFunc через 1 секунду.

nOobCrafter
19.03.2009, 15:52
Делал тестовый примерчик и наткнулся на что то непонятное мне:
var i:Number = 1;

function price(old:Number, current:Number)
{
trace(old + " -- " + current) // 700,350 -- undefined
if ((i - 1) < current)
{
txt.text = (old - i);
i++;
} else {
trace("done")
clearInterval(intervalID);
}
}

var intervalID:Number = setInterval(price, 20, [700, 350]);
где txt инстанс нейм динами текстфилда в руте. Как тогда передать несколько параметров функции?
Когда писал исходил из этого:
setInterval(functionReference:Function, interval:Number, [param1:Object, param2, ..., paramN]) : Number
setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number

DarkLight
19.03.2009, 16:24
Квадратные скобки в хелпе просто обозначают необязательные параметры.
Просто
var intervalID:Number = setInterval(price, 20, 700, 350);

nOobCrafter
19.03.2009, 16:29
Ага, спс большое..