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 倒數計時60秒程式碼JavaScript
- JavaScript倒數計時JavaScript
- JavaScript取餘數程式碼例項JavaScript
- 獲取倒數第幾個元素程式碼例項
- 倒數計時(Excel程式碼集團)Excel
- JavaScript in運算子程式碼例項JavaScript
- JavaScript 年月日倒數計時JavaScript
- js自動倒數計時程式碼,倒數計時完畢時自動停止迴圈JS
- 小程式 - 驗證碼倒數計時元件元件
- 前端學習程式碼例項-JavaScript 生成隨機數前端JavaScript隨機
- JavaScript運動框架程式碼例項JavaScript框架
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- JavaScript 倒數計時踩坑集錦JavaScript
- JavaScript 倒數計時關閉頁面JavaScript
- 小程式倒數計時深究
- JavaScript 前端倒數計時糾偏實現JavaScript前端
- JavaScript 原生 小案例 60秒倒數計時JavaScript
- JavaScript陣列合並程式碼例項JavaScript陣列
- JavaScript 表單驗證程式碼例項JavaScript
- 直播小程式原始碼,vue實現時間倒數計時原始碼Vue
- JavaScript 原生 小案例 秒殺時鐘倒數計時JavaScript
- JavaScript 天小時分鐘和秒倒數計時JavaScript
- 設計模式例項程式碼設計模式
- 倒數計時
- JavaScript倒數計時隱藏廣告詳解JavaScript
- JavaScript刪除元素節點程式碼例項JavaScript
- JavaScript中常用的事件程式碼及例項JavaScript事件
- 倒數計時獲取驗證碼
- 獲取驗證碼倒數計時
- 視訊直播系統原始碼,倒數計時顯示,商品秒殺倒數計時原始碼
- 商城倒數計時
- 好程式設計師web前端分享在HTML中使用JavaScript例項程式碼程式設計師Web前端HTMLJavaScript
- JavaScript年月日精確到秒倒數計時JavaScript
- JavaScript簡訊重發按鈕可用倒數計時JavaScript
- 前端學習程式碼例項-JavaScript阻止事件冒泡前端JavaScript事件
- 線上直播系統原始碼,預設倒數計時,自定義輸入時間倒數計時原始碼