JavaScript倒數計時程式碼例項
關於倒數計時效果在很多場景都有應用,例如高考倒數計時或者書奧運倒數計時,下面就詳細介紹一下如何實現此效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <head> <title>javascript倒數計時效果-螞蟻部落</title> <style type="text/css"> *{ margin:0; padding: 0; } ul,li{ list-style:none; } #show_time{ color:#f00; font-size:24px; font-weight:bold; margin:100px; } </style> <script type="text/javascript"> function countdown(){ var show_time=document.getElementById("show_time"); var endtime=new Date("12/31/2015 23:59:59"); var today=new Date(); var delta_T=endtime.getTime()-today.getTime(); if(delta_T<0){ clearTimeout(auto); show_time.innerHTML="倒數計時已經結束"; } else{ var total_days=delta_T/(24*60*60*1000); var total_show=Math.floor(total_days); var total_hours=(total_days-total_show)*24; var hours_show=Math.floor(total_hours); var total_minutes=(total_hours-hours_show)*60; var minutes_show=Math.floor(total_minutes); var total_seconds=(total_minutes-minutes_show)*60; var seconds_show=Math.floor(total_seconds); show_time.innerHTML="距離結束還有:"+total_show+"天"+hours_show+"時"+minutes_show+"分"+seconds_show+"秒"; var auto=setTimeout(countdown,1000); } } window.onload=function(){ countdown(); } </script> </head> <body> <div id="show_time"></div> </body> </html>
程式碼實現了我們需要的倒數計時效果,如果已經到期那麼就會給出"倒數計時已經結束"的提示。
一.實現原理:
設定一個到期的時間,然後和現在的時間進行比對,通過setTimeout()函式遞迴呼叫countdown()函式,每秒比對一次,這樣可以實現倒數計時效果,噹噹前時間超過指定時間時,就停止setTimeout()函式的執行,並且給出提示。
二.程式碼註釋:
(1).function countdown(){},宣告一個函式用於進行倒數計時效果。
(2).var show_time=document.getElementById("show_time"),獲取id屬性值為show_time的元素物件。
(3).var endtime=new Date("12/31/2015 23:59:59"),設定倒數計時的到期時間。
(4).var today=new Date(),建立一個時間物件,用於獲取當前時間。
(5).var delta_T=endtime.getTime()-today.getTime(),獲取指定到期時間和當前時間的時間差,以秒計算。關於getTime()方法參閱JavaScript getTime()一章節。
(6). if(delta_T<0),如果小於零,說明已經到期。
(7).clearTimeout(auto),停止setTimeout()函式的執行。
(8).show_time.innerHTML="倒數計時已經結束",將show_time的內容設定為"倒數計時已經結束"。
(9).var total_days=delta_T/(24*60*60*1000),delta_T是間隔時間的總秒數,而24*60*60*1000是一天的總秒數,這樣就計算出剩餘的天數。
(10).var total_show=Math.floor(total_days),獲取剩餘的天數,這裡要注意的是使用了Math.floor()函式進行下舍入,因為只有這樣才可以計算剩餘的小時和下面更小的時間單位。
(11).var total_hours=(total_days-total_show)*24,總天數減去下舍入的天數然後再乘以24(一天的小時數)就得出了剩餘的小時數。下面計算分鐘,秒數也是如此,這裡就不多介紹了。
(12).show_time.innerHTML="距離結束還有:"+total_show+"天"+hours_show+"小時"+minutes_show+"分"+seconds_show+"秒",將剩餘的事件寫入show_time中。
(13).var auto=setTimeout(countdown,1000),每隔1秒遞迴呼叫一次countdown()函式。
(14).window.onload=function(){},當文件完全載入完成再去執行函式中的程式碼。
(15).countdown(),呼叫此函式。
三.相關內容:
(1).Math.floor()方法參閱JavaScript Math.floor()一章節。
(2).setTimeout()方法參閱setTimeout()一章節。
相關文章
- JavaScript春節倒數計時程式碼例項JavaScript
- jQuery倒數計時效果程式碼例項jQuery
- 按鈕倒數計時可用效果例項程式碼
- 商品搶購倒數計時效果程式碼例項
- 網頁倒數計時跳轉程式碼例項網頁
- 按鈕倒數計時指定秒數可用程式碼例項
- js倒數計時關閉頁面程式碼例項JS
- 倒數計時結尾使用動畫效果程式碼例項動畫
- 倒數計時指定時間頁面跳轉程式碼例項
- JavaScript 倒數計時60秒程式碼JavaScript
- 年月日小時分鐘秒倒數計時效果程式碼例項
- 可以防止重新整理重置的倒數計時例項程式碼
- 文字框輸入數字倒計例項程式碼
- JavaScript倒數計時60秒程式碼詳解JavaScript
- JavaScript倒數計時JavaScript
- jquery實現的點選進行倒數計時效果程式碼例項jQuery
- js按鈕點選後需要倒數計時才能可能用程式碼例項JS
- JavaScript取餘數程式碼例項JavaScript
- textarea文字框輸入文字數目倒計效果程式碼例項
- javascript實現表單可點選倒數計時程式碼JavaScript
- javascript帶有毫秒的計時器程式碼例項JavaScript
- 獲取倒數第幾個元素程式碼例項
- setTimeout倒數計時效果程式碼
- javascript 計算器程式碼例項JavaScript
- javascript生成隨機數程式碼例項JavaScript隨機
- javascript數字上舍入程式碼例項JavaScript
- javascript數字下舍入程式碼例項JavaScript
- javascript實時顯示時間程式碼例項JavaScript
- javascript顛倒陣列元素順序簡單程式碼例項JavaScript陣列
- JavaScript 年月日倒數計時JavaScript
- 小程式 - 驗證碼倒數計時元件元件
- JavaScript產生隨機數例項程式碼JavaScript隨機
- javascript獲取url引數程式碼例項JavaScript
- javascript計算兩個日期相差的天數程式碼例項JavaScript
- JavaScript 倒數計時關閉頁面JavaScript
- JavaScript 倒數計時踩坑集錦JavaScript
- javascript生成指定位數隨機數程式碼例項JavaScript隨機
- 小程式倒數計時深究