window.setTimeout不能正常工作

问题描述:

我想最终得到此代码工作:window.setTimeout不能正常工作

function Timer(callback, delay) { 
    var timerId, start, remaining = delay; 

    this.pause = function() { 
     window.clearTimeout(timerId); 
     remaining -= new Date() - start; 
    }; 

    this.resume = function() { 
     start = new Date(); 
     timerId = window.setTimeout(callback, remaining); 
    }; 

    this.resume(); 
} 

var timer; 

function onEvent(){ 
    timer = new Timer(anotherEvent(), 5000); 
} 

但是,这是行不通的,所以我简化它,看看可能是什么问题,并得到了它下降到:

var timer; 

function event(){ 
    timer = window.setTimeout(anotherEvent(), 5000); 
} 

并且它所做的全部是另一个事件()立即。

任何想法?

通过anotherEvent作为函数的参数。你现在拥有的是anotherEvent()其中调用的是的功能,并通过其返回值作为参数。

+0

+1真是常见的错误。 – JCOC611 2011-02-11 21:36:58