2012-09-03 31 views
1

我嘗試使用此代碼在15分鐘後自動註銷。 但是這不能正常工作。我離開我的比賽15分鐘,但沒有任何事情發生。它仍然登錄。超時退出(JavaScript,jQuery)

但另一方面,如果我嘗試更短的時間,例如5秒它的作品完美... 5秒後它將我註銷。

我不知道,問題在哪裏?

var int=self.setInterval(setLastAction,1000); 

function setLastAction(){ 
    var lastAction = new Date();  
    var baz = new Date(); 
    baz.setTime(lastAction.getTime() - firstAction.getTime()); 
    baz = baz.getSeconds(); 

    if(baz >= (15*60)){ 
     logOut();  
    } 
} 

$(document).mousemove(function(){ 
    firstAction = new Date(); 
}); 
+1

這裏是這是完全測試一個計時器腳本:http://blog.webtech11.com/2012/07/29/countdown-timer- with-javascript.html –

回答

5

您是從Date對象獲取秒,使用getSeconds(),這將總是返回059之間的整數。比較,而不是創建一個新的Date對象的時間之間的區別:

var secondsBetween = (lastAction.getTime() - firstAction.getTime())/1000; 
if (secondsBetween >= (15 * 60)) { 
    logOut();  
} 
+0

好的謝謝,現在gr8工作:> – Clem

+0

@Klemzy:不客氣,很高興我可以幫忙。 –