window.setTimeout无法正常运行

时间:2011-02-11 21:26:20

标签: javascript timer 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);
}

并且它立刻就是另一个事件()。

有什么想法吗?

1 个答案:

答案 0 :(得分:7)

anotherEvent作为函数的参数传递。您现在拥有的是anotherEvent() 调用该函数并将其返回值作为参数传递。