PDA

Просмотр полной версии : аналог setTimeout()


ZIJ
17.12.2006, 21:34
Подскажите, пожалуйста, как на AS сделать аналог setTimeout в яваскрипте.

miramax
17.12.2006, 21:45
:D А собственно точно так же

ZIJ
17.12.2006, 21:47
насколько я знаю, в AS нету setTimeout().

silin
17.12.2006, 22:20
function delayCall(func,delay) {
arguments.splice (0, 2);
var id=setInterval(function(a){func.apply (null, a);clearInterval(id);}, delay,arguments);
}
function test(a,b){
trace(a);
trace(b);
}

delayCall(test,1000,"delay 1000","test");//функция,задержка, аргументы списком
delayCall(test,2000,"delay 2000");

miramax
17.12.2006, 22:27
А это что такое ?

function f(){trace('таймаут')}
setTimeout(f , 1000)

etc
17.12.2006, 22:29
ZIJ, есть. Недокументированный.

silin
17.12.2006, 22:32
однако.., и даже так
function f(a,b){trace(a+b)}
setTimeout(f , 1000,"X","Z")
а мы изобретаем все.. :)

ZIJ
17.12.2006, 23:05
Всем биг сэнкс!!!

Kikasso
18.12.2006, 02:08
Вот ссылка: http://www.flasher.ru/forum/showthread.php?t=73336
А вот затычка для 7-го плеера:if(!Object.prototype.setTimeout){
Object.prototype.setTimeout = function(f,t){
var i = setInterval( function(){ clearInterval(i); f(); }, t);
return i;
}}
function test(){ trace("It Works!");}
i = setTimeout( test, 1000 );
//Стоп-кран: clearInterval(i);Можно было еще добавить туда userData, как положено.. На фига только?
PS:: Вроде для линуксов плеер еще 7-й? или уже вышел?

etc
18.12.2006, 02:15
Для Линуксов девятый вышел.

vic_
18.12.2006, 13:01
setTimeout не решение, у меня не получалось запускать одновременно несколько пауз из класса, по окончании паузы срабатывают все обработчики события, насколько я помню. Может быть что то делал не так, не знаю.
Сделал свой класс Pause через setInterval

Kikasso
19.12.2006, 05:50
а кстати trace( clearTimeout === clearInterval ); //true
и так оно и есть.function f(arg){trace(arg);}
t1 = setTimeout( f, 1000, "1");
clearInterval( t1 );

t2 = setInterval( f, 1000, "2");
clearTimeout ( t2 );Не выводит ничего - все стряхнулось.