2013-02-21 82 views
0

我得到了一個倒計時定時器腳本..我打算用它來進行在線測試..但是現在問題在於刷新頁面時復位...JavaScript定時器在刷新頁面時被重置

任何想法,以防止重置的時間,並繼續沒有任何問題,如果他們刷新頁面?

這裏是代碼

<script> 

    var mins; 

    var secs; 

function cd() { 


    mins = 1 * m("2"); // change minutes here 
     secs = 0 + s(":01"); // change seconds here (always add an additional second to your total) 
     redo(); 

} 

function m(obj) { 
    for(var i = 0; i < obj.length; i++) { 
     if(obj.substring(i, i + 1) == ":") 
     break; 
    } 
    return(obj.substring(0, i)); 
} 

function s(obj) { 
    for(var i = 0; i < obj.length; i++) { 
     if(obj.substring(i, i + 1) == ":") 
     break; 
    } 
    return(obj.substring(i + 1, obj.length)); 
} 

function dis(mins,secs) { 
    var disp; 
    if(mins <= 9) { 
     disp = " 0"; 
    } else { 
     disp = " "; 
    } 
    disp += mins + ":"; 
    if(secs <= 9) { 
     disp += "0" + secs; 
    } else { 
     disp += secs; 
    } 
    return(disp); 
} 

function redo() { 
    secs--; 
    if(secs == -1) { 
     secs = 59; 
     mins--; 
    } 
    document.getElementById("disp").innerHTML=dis(mins,secs); // setup additional displays here. 

    if((mins == 0) && (secs == 0)) { 
     window.alert("Time is up. Press OK to continue."); // change timeout message as required 
     // window.location = "yourpage.htm" // redirects to specified page once timer ends and ok button is pressed 
    } else { 
     cd = setTimeout("redo()",1000); 
    } 
} 

function init() { 
    cd(); 
} 
window.onload = init; 

</script> 

回答

0

如果頁面被刷新,你重新執行JavaScript代碼。這是正常的行爲。

如果您絕對需要繼續離開,您可以使用本地存儲API(僅適用於現代瀏覽器)來存儲時間(每秒更新一次值)。

加載頁面後,您可以檢查該值是否存在於本地存儲中,並從您的位置開始。

您確定需要此行爲嗎?

相關問題