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()
其中调用的是的功能,并通过其返回值作为参数。
+1真是常见的错误。 – JCOC611 2011-02-11 21:36:58