2010-08-12 6 views

답변

1

아니요, 수행 할 수 없습니다.

var timeouts = [{ 
    fn: myfunc, 
    timeout: 300 
}]; 

for(var i = 0; i < timeouts.length; i++){ 
    timeouts[i].id = window.setTimeout(timeouts[i].fn, timeouts[i].timeout); 
} 
0

를 사용해서 그것으로 많은 일을 할 수 있도록 ID는, 브라우저 내부에 반환

것은 당신이 대신 할 수있는 것은, 다른이 같은 그들을 추적 할 수 있습니다. 그런 다음

function Timer(callback, timeout) { 
    this.callback = callback; 
    this.timeout = timeout; 
    this.id = window.setTimeout(callback, timeout); 
} 

Timer.prototype.cancel = function() { 
    window.clearTimeout(this.id); 
} 

Timer.prototype.fire = function() { 
    this.cancel(); 
    this.callback(); 
} 

그냥 타이머를 생성하고 같은 자신의 속성에 액세스 : 당신은 타이머를 시작할 때 시간과 콜백을 알고 있기 때문에, 당신은 단지뿐만 아니라 당신을 위해 모든 것을 수행하는 Timer 클래스의 전체를 포장 할 수 이 :

t = new Timer(myfunc, 300); 
alert(t.timeout); 
관련 문제