當前是可以實現js的倒計時,但是,頁面一重新整理,倒計時要麼直接停止,要麼直接重新開始。
那麼問題來了?
怎樣才能控制住js,即使重新整理頁面,那個倒計時還是持續的。
麻煩各位路過的小夥伴,幫個忙。謝謝!
回複內容:
當前是可以實現js的倒計時,但是,頁面一重新整理,倒計時要麼直接停止,要麼直接重新開始。
那麼問題來了?
怎樣才能控制住js,即使重新整理頁面,那個倒計時還是持續的。
麻煩各位路過的小夥伴,幫個忙。謝謝!
開始倒計時的時候擷取本地時間,存入cookie或localstorage,重新整理後讀取開始的時間和現在的時間想減
瞭解一下Service Worker
每次重新整理都是一個新的函數運行環境,無法得知重新整理之前的狀態。你的定時器的開始時間只能從後台擷取或根據目前時間計算。
用cookie或localstorage,
具體見我寫過的一篇回答
http://stackoverflow.com/a/38...
1 php: 定義停止$end_time 2 html : 3 js:$("#end_time").val()
應該看得懂意思把
倒計時開始時,儲存結束時間到localstorage,重新整理頁面讀取localstorage的值再計算出倒計時間
最近老有人問倒計時的問題,之前寫過一個簡單的了,樓主可以看看
求到每周二的一個倒計時代碼
你倒計時的開始時間不要用js
擷取用戶端的時間,用php
擷取服務端的時間給js
用試試看
寫一個本機存放區倒計時就ok啦
要實現一個倒計時功能,首先你必須得有一個固定的結束時間,正常邏輯實現:
把結束時間傳入到一個倒計時方法裡面,使用結束時間減去目前時間,得到剩餘時間,一秒鐘執行一次。而目前時間會增加,那麼剩餘時間就會相應減少。
那麼固定結束時間從哪裡來的。1、代碼裡面寫死的時間 2、後端返回的時間 3、本機存放區的。只要拿到了固定的結束時間,倒計時就不會從頭開始。中斷也只是在倒計時結束或者代碼報錯的情況下出現。我寫過一個多個倒計時同時存在的頁面連結描述
如果非要前端控制只能利用cookie/Web storage之類的瀏覽器儲存,這樣的話在同一個瀏覽器不清除緩衝的情況下可以實現你的需求,如果需要即使更換瀏覽器也保持不變的話只能後端返回時間
【傳送簡訊驗證,後按鈕倒計時,防止重新整理倒計時失效】
應用情境 ,在開發“傳送簡訊驗證”功能時候,要解決一個問題,防止惡意或頻繁傳送簡訊驗證碼問題。一般原理是“當點擊發送按鈕時,發送ajax請求到伺服器傳送簡訊驗證碼,成功則把發送按鈕設定為不可點擊,並且調用定,原文連結:https://segmentfault.com/a/11...