2010-07-25 49 views
0

所以最好在這裏就是我試圖完成的任務(記住我是一個初學者,如此忍受我):如何正確的jQuery的計時器代碼,我喜歡

創建一個應用程序,在間隔X(讓我們玩間隔x = 15分鐘)通知彈出提示用戶採取行動。因此,每15分鐘採取行動(所以你知道,提醒他們,這將是一個瀏覽器閃光和標題閃爍/變化)。如果用戶採取行動,將計時器重置爲另一個x量(再次,讓x = 15分鐘玩)。如果他們不採取行動,請繼續刷新瀏覽器窗口並更改標題。有關如何完成此任務的任何建議?非常感謝。

回答

1

你會想爲此使用setTimeout。還有另外一個函數setInterval,但你不希望事件發生在用戶還沒有點擊通知的時候(例如15分鐘後通知彈出,但如果用戶沒有解除通知,你不會不想讓事件再次運行)。

SetTimer的工作按以下方式:

setTimeout(code,millisec,lang) 

代碼是對功能或代碼的引用將被執行。 millisec是執行代碼之前要等待的毫秒數 lang是可選的。它是腳本語言:JScript中,VBScript或者JavaScript的

你的目的,你可以使用:

function setNextTimeout() { 
    // 15 minutes * 60 seconds * 1000 milliseconds 
    var t=setTimeout("displayAlert()", 15 * 60 * 1000) 
} 

function displayAlert() { 
    alert('I am displayed after 15 minutes!'); 
    setNextTimeout(); 
} 

setNextTimeout(); 
+0

我怎麼會在用戶事件因素 - 讓,在這個例子中,假設用戶的鼠標移動 - 僅僅因爲他們是否在當前窗口並移動,或從另一個窗口切換,這將起作用 - 你會建議什麼? – Brian 2010-07-25 01:13:57

+0

爲此,您需要使用onmousemove事件處理程序,並在發生此事件時重置計時器。以下是我搜索的一些信息:http://www.quirksmode.org/js/events_mouse.html – umop 2010-07-25 02:32:41