0
我在使用mootools定期運行類函數時遇到了問題。它運行一個罰款,但後來我得到一個函數是未定義的錯誤。相關的代碼可以在這裏看到:http://gist.github.com/142298Mootools期刊問題
我在使用mootools定期運行類函數時遇到了問題。它運行一個罰款,但後來我得到一個函數是未定義的錯誤。相關的代碼可以在這裏看到:http://gist.github.com/142298Mootools期刊問題
你沒有正確地調用定期功能,請參閱MooTools documentation。
在你的榜樣,你運行該函數一次,並嘗試使用定期的功能性上它的返回值(所以你的第一個消息直接登錄,而不是1000毫秒的延遲後):
var Main = new Class({
Implements: [Options],
options: {
releaseDate: '1 January, 2010'
},
initialize: function(options){
this.setOptions(options);
this.startClock();
},
startClock: function(){
var current = $time();
var future = new Date(this.options.releaseDate);
future = future.getTime();
this.clock = this.iterateClock(current, future).periodical(1000, this);
},
iterateClock: function(current, future){
var difference = future - current;
var days = Math.floor((difference/(60 * 60 * 24))/1000);
console.log(days);
}
});
你想要什麼是定期調用具有指定週期,綁定和參數(作爲數組)的iterateClock函數:
this.clock = this.iterateClock.periodical(1000, this, [current, future]);
他在mootools郵件列表上得到了相同的答案。解決這個問題的另一種方法是使用匿名函數作爲閉包,並將其應用於其原始代碼中。 – 2009-07-10 13:29:55