您好,登錄后才能下訂單哦!
這篇文章主要介紹“js如何倒計時功能”,在日常操作中,相信很多人在js如何倒計時功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”js如何倒計時功能”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
方案1:每次倒計時去服務端請求時間
//開啟定時器 var timer = setInterval(function () { //執行請求,獲取當前服務端時間并進行相應操作 }, 1000);
這個方案對于稍微有點經驗的開發人員來說,都知道是不可取的。因為這會給服務器造成無法想象的壓力,導致應用崩潰。在這個頁面停留一分鐘,那么請求就發送了60次,假如此時有100個人在訪問這個頁面,那么一分鐘就有6000條請求,人數如果再增長,這絕對會造成不必要的服務器壓力。并且這個方案的倒計時,也會存在很大的誤差,因為請求存在延遲,跟你的網絡狀態也有很大的關系。
方案2:從服務端返回以服務器時間為基準的倒計時時間戳
//開啟定時器 //假設請求獲取到一個時間戳時間差 dateDiff var timer = setInterval(function () { //每秒會獲取本地時間,這樣就算執行的周期不準確 也可以準確的獲取時間差 var countDown = endTime - (+Date.now())/1000 + dateDiff; // 倒計時頁面渲染 }, 1000);
優點:
在頁面生命周期中請求一次
準確度高,就算頁面打開很久還是保持高準確度
缺點:
由于每秒獲取當前時間,假如刻意在倒計時時期內,修改了本地時間將會導致倒計時異常。
到此,關于“js如何倒計時功能”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。