2015-11-18 41 views
1

這裏是我的代碼,其中我使用readCookies函數,但是當它沒有響應時,它在div中什麼也沒有顯示,即使警報也不起作用。我如何避免重置頁面刷新/頁面加載使用Java腳本的計時器值?

seconds = readCookie('countdown') || 60; 
alert(seconds); 

function secondPassed() { 
    seconds--; 
    var minutes = parseInt(seconds/60); 
    var remainingSeconds = parseInt(seconds % 60); 
    if (remainingSeconds < 10) { 
     remainingSeconds = "0" + parseInt(remainingSeconds); 
    } 
    document.getElementById('countdown').innerHTML = minutes + " mins : " + remainingSeconds + " secs"; 
    if (parseInt(seconds) === 0) { 
     alert("Time is over"); 
     clearInterval(countdownTimer); 
     document.getElementById('countdown').innerHTML = "Time is Over"; 
     document.forms["myForm"].submit(); 
     document.location.href = "examresult.jsp"; 
    } 
} 
var countdownTimer = setInterval(function() { 
    secondPassed(); 
    if (seconds === 0) { 
     eraseCookie(seconds); 
    } else { 
     createCookie(seconds, seconds, 7); 
    } 
}, 1000); 
+1

設置的定時器秒還餅乾 –

回答

2

將頁面的值存儲在cookie或瀏覽器存儲中,然後在刷新頁面時從cookie或瀏覽器存儲中卸載並重新加載該值。

例如(僞代碼):

window.onunload = function(){ 
    set_cookie('timer', timer) /* you need to implement this function */; 
} 

window.onload = function() { 
    timer = get_cookie('timer'); /* you need to implement this function */ 
    if (null == timer) timer = 0; /* not page refresh, start a new timer */ 
} 
+0

請爲我提供工作例子吧..或者,我應該用我的功能上面的代碼,或代替我函數...我想我已經完成了幾乎在我的代碼,但最後它沒有響應... –

+0

@KuldeePChoudharY,因爲你已經實現了'get_cookie',''set_cookie'函數(或等價物),然後只需添加窗口的事件處理程序加載和卸載,以便在卸載時存儲當前定時器,並在加載時恢復當前定時器(如果已經設置),否則創建一個新的定時器。關鍵是要鉤入窗口'load'和'unload'事件來存儲和恢復當前的定時器,其餘的都是一樣的,因此爲什麼僞代碼 –

相關問題