Просмотр полной версии : аналог setTimeout()
Подскажите, пожалуйста, как на AS сделать аналог setTimeout в яваскрипте.
:D А собственно точно так же
насколько я знаю, в AS нету setTimeout().
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");
А это что такое ?
function f(){trace('таймаут')}
setTimeout(f , 1000)
ZIJ, есть. Недокументированный.
однако.., и даже так
function f(a,b){trace(a+b)}
setTimeout(f , 1000,"X","Z")
а мы изобретаем все.. :)
Вот ссылка: 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-й? или уже вышел?
Для Линуксов девятый вышел.
setTimeout не решение, у меня не получалось запускать одновременно несколько пауз из класса, по окончании паузы срабатывают все обработчики события, насколько я помню. Может быть что то делал не так, не знаю.
Сделал свой класс Pause через setInterval
а кстати trace( clearTimeout === clearInterval ); //true
и так оно и есть.function f(arg){trace(arg);}
t1 = setTimeout( f, 1000, "1");
clearInterval( t1 );
t2 = setInterval( f, 1000, "2");
clearTimeout ( t2 );Не выводит ничего - все стряхнулось.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.