2017-03-28 128 views
1

即時通訊使用倒計時器插件它重新啓動後,頁面刷新,我不能定時器div內的值,因爲div綁定每次運行時間我想存儲在cookie中,並檢索頁面刷新後任何人都可以參考代碼來做到這一點。倒數計時器插件重新啓動頁面刷新後

我用下面的代碼來調用計時器插件

$("#hms_timer").countdowntimer({ 
     hours : hrs, 
     minutes : mins, 
     seconds : sec, 
     size : "lg", 
     pauseButton : "pauseBtnhms", 
     stopButton : "stopBtnhms" 
    }); 

This link is where i got timer plugin

回答

0

每當一個頁面被readloaded,老頁面的整個環境被破壞,並創建了一個全新的環境。您無法在下一頁加載時運行一個頁面加載計時器。

如果您需要將某個狀態從一個頁面加載保存到另一個頁面,然後在下一頁加載,請檢查該狀態並確定如何設置初始頁面以匹配之前進行的操作,然後您可以保存在HTML5本地存儲或Cookie中加載頁面之間的狀態。

另一種可能性是不重新加載您的頁面,而是使用ajax和javascript動態更新頁面內容。這樣你現有的計時器將繼續運行,因爲根本不會有頁面重新加載。

如果您正在嘗試使用計時器顯示在倒計時中剩餘多少時間,則可以將倒計時零時間設置爲HTML5本地存儲,並且當重新加載的頁面加載時,它可以檢查時間設置在本地存儲中,並啓動倒數計時器以匹配之前設置的時間。

使用cookie,或者如果是HTML5,那麼本地/會話存儲保存狀態。

HTML

<a href="#" onclick="SaveTime()">Save Current Time</a> | 
<a href="#" onclick="retrieveTime()">Retrieve Saved Time</a> 

<div id="result"></div> 

JAVASCRIPT

function SaveTime(){ 
var date = new Date(); 
var timeObj = { sec:date.getSeconds(), min:date.getMinutes(), hr:date.getHours() }; 
localStorage.setItem("timeObj", JSON.stringify(timeObj)); 
$('#result').append(JSON.stringify(timeObj)+' -- > Saved<br />'); 
} 

function retrieveTime(){ 
var timeObj = JSON.parse(localStorage.getItem("timeObj")); 
//You have the time with you now 
//You have the time with you now 
$('#result').append(timeObj.hr+':'+timeObj.min+':'+timeObj.sec+' --> Retrieved<br />'); 
} 

它只是一個簡單的例子,以節省在點擊本地存儲計時器。修改它並定期在定時器中調用javascript函數。

如果您發現此答案有幫助,請將其標記爲answer/upvote。

+0

是的我知道我必須保存當前時間的cookie,以便我搜索了很多網站,但我不能得到我的確切答案,如果你有任何示例代碼與插件使用,請分享 –

+0

我無法獲得在jquery中運行時間保存在cookie –

+0

我已經更新了我的答案,以html5和javascript爲例來保存和檢索計時器。你可以隨意修改它。 –

1

查看插件文檔,沒有辦法檢索剩下的當前時間。剩下當前時間的唯一方法就是解析定時器的HTML輸出。

由於倒數計時器非常基本,我建議您自己編寫倒數計時器,並添加所需的cookie機制。

+0

好的非常感謝你..我浪費我的時間來獲得與插件的答案 –

相關問題