倒計時網(wǎng)頁代碼 網(wǎng)頁倒計時計時器)
大家好,小宜來為大家講解下。倒計時網(wǎng)頁代碼,網(wǎng)頁倒計時計時器)這個很多人還不知道,現(xiàn)在讓我們一起來看看吧!
一、倒計時的原理
1、倒計時是指在指定的時間(比如設(shè)置的一段時間或某一特定的日期或時間點)之前之后,網(wǎng)頁上顯示文字或圖片,可以用來做活動開始倒計時,或活動進行倒計時,也可以用來顯示未來某一時間點的倒計時。
2、倒計時的實現(xiàn):通過JavaScript把當(dāng)前日期的毫秒數(shù)減去用戶設(shè)定的毫秒數(shù),從而得到剩余的毫秒數(shù)。然后利用這個當(dāng)前毫秒數(shù)來計算出剩余的天數(shù),小時數(shù),分鐘數(shù)和秒數(shù),最后將當(dāng)前的日期的秒數(shù)與用戶設(shè)置的秒數(shù)相減,以及顯示用戶設(shè)置的秒數(shù)之前的時間,就像賽跑中的倒計時一樣。
二、實現(xiàn)倒計時網(wǎng)頁代碼
1、首先獲取頁面顯示時間所需要用到的時間段,比如可以用js獲取當(dāng)前時間(如下代碼):
var now = new Date(); // 獲取當(dāng)前時間
2、然后設(shè)置未來日期,然后計算出兩個時間段之間的時間差:
var endTime = new Date(\"2020/07/23 10:00:00\");
var diff = endTime.getTime() - now.getTime(); // 獲得兩個時間段的時間差
3、然后將時間差進行單位換算:
/*得到的時間差,要進行ms -> s的轉(zhuǎn)換,再進行整數(shù)部分和小數(shù)部分的分離*/
var intDiff = parseInt(diff / 1000); // 將毫秒數(shù)換算成秒數(shù)
var day=0, hour=0, minute=0, second=0; // 聲明值
if(intDiff > 0){
// 大于0的話可以獲取天數(shù)和小時
day = Math.floor(intDiff / (60 * 60 * 24));
hour = Math.floor(intDiff / (60 * 60)) - (day * 24);
minute = Math.floor(intDiff / 60) - (day * 24 * 60) - (hour * 60);
second = Math.floor(intDiff) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60);
}
4、最后將倒計時顯示到頁面上,可以使用HTML和CSS,也可以使用JavaScript:
//顯示時間的DIV
var showTime=document.querySelector(\"#time\");
//顯示倒計時的JS
function countDown(){
if (second <= 0) {
second = 59;
minute = minute - 1;
if (minute <= 0) {
minute = 59;
hour = hour - 1;
if (hour <= 0) {
hour = 59;
day = day - 1;
}
}
}
else {
second = second - 1;
}
showTime.innerHTML=day+\"天 \"+hour+\"小時 \"+minute+\"分 \"+second+\"秒\";
}
setInterval(countDown,1000);
5、定時執(zhí)行倒計時函數(shù):
setInterval(countDown,1000); // 每隔1000毫秒執(zhí)行一次
六、結(jié)語
倒計時網(wǎng)頁代碼主要通過JavaScript取得當(dāng)前日期的毫秒數(shù),算出距離指定日期剩余的毫秒數(shù),再把它轉(zhuǎn)化成 天數(shù),小時,分鐘,秒 并顯示在頁面上,最后通過定時器定時執(zhí)行倒計時函數(shù)就可以實現(xiàn)倒計時的功能了。
1.引入需要的javaScript組件:
首先需要引入需要的javascript組件來創(chuàng)建倒計時網(wǎng)頁,例如jQuery、setTimeout()、clearTimeout()函數(shù)等, 以此來保證網(wǎng)頁的順利運行。
2.定義倒計時函數(shù):
定義倒計時函數(shù),該函數(shù)會接受倒計時總時長、當(dāng)前時間(即網(wǎng)頁首次加載時event.timeStamp),以及倒計時dom對象,然后通過設(shè)置setTimeout函數(shù)周期性的更新倒計時dom對象來實現(xiàn)倒計時顯示效果。
3.綁定倒計時觸發(fā)事件:
當(dāng)需要更新倒計時dom對象時,可以綁定onload事件,這樣可以省去使用多一個變量來記錄當(dāng)前網(wǎng)頁加載的時間,也減少了對其他頁面依賴。在頁面開始倒計時之前,可以先做一些預(yù)處理,比如把倒計時dom對象中的時間信息做計算處理,獲取最新的時間信息等。
4.更新倒計時dom對象信息:
最后,在倒計時函數(shù)中,計算離倒計時結(jié)束的剩余時間,并更新倒計時dom對象信息(可以根據(jù)實際需求使用不同的時間表示形式,如時分秒等)。
5.清除倒計時函數(shù):
倒計時功能完成之后,為了保持頁面的運行效率,可以使用clearTimeout函數(shù)停止倒計時函數(shù),以此來取消定時器行為,避免資源的浪費。
本文倒計時網(wǎng)頁代碼,網(wǎng)頁倒計時計時器)到此分享完畢,希望對大家有所幫助。
作者:baidianfeng365本文地址:http://www.inkvzc.cn/bdf/14725.html發(fā)布于 2023-11-23
文章轉(zhuǎn)載或復(fù)制請以超鏈接形式并注明出處白癜風(fēng)知識網(wǎng)