var timer = 0
var startInterval = function(value) {
timer = setInterval("checkNewPost();", value);
}
var stopInterval = function() {
clearInterval(timer);
}
jQuery("#centerColumn a").click(function() {
var a_id = jQuery(this).attr("id");
var splitValue = a_id.split("-");
var newValue = splitValue[1];
if(newValue == "30") {
stopInterval;
startInterval(10000);
}
else if(newValue == "1") {
stopInterval;
startInterval(20000);
}
else if(newValue == "5") {
stopInterval;
startInterval(30000);
}
else if(newValue == "pause")
stopInterval;
});
正如你可以在我的代碼中看到的,邏輯是非常簡單的,當NEWVALUE等於30將停止當前間隔,並與10000秒後重新啓動它在setInterval上。當newValue等於暫停時,它將停止所有setInterval。的Javascript clearInterval和setInterval()的演技並不如預期
這裏的問題是它不正確,我不知道爲什麼?有人可以指導我做到這一點。您的幫助將不勝感激!
謝謝! :)
這是正確的。 'stopInterval'是對函數的引用,'stopInterval()'是*調用函數。前者被用作自己的陳述,沒有真正意義,就像「myVariable;」並不意味着什麼。但是,在執行諸如'var callback = stopInterval();時,引用一個函數而不調用它是很有用的。 ... callback();或者'stopInterval =(新函數聲明)'。 – 2012-04-24 07:10:28
不錯的解釋:) – 2012-04-24 07:14:49