javascript實現(xiàn)簡單倒計時效果
本文實例為大家分享了javascript實現(xiàn)倒計時效果的具體代碼,供大家參考,具體內(nèi)容如下
實現(xiàn)思路:
1、頁面創(chuàng)建好天、小時、分、秒的標簽元素,定義好樣式
2、js獲取天、小時、分、秒的元素對象,方便后面給它們賦值- - -剩余時間
3、定義一個計算當前時間和設(shè)定時間- - -時間差的函數(shù),將剩余天數(shù)、小時、分、秒分別計算計算出來,并賦值給相應(yīng)的與元素內(nèi)容
4、使用setInterval()函數(shù),設(shè)置每隔1秒執(zhí)行一次時間差函數(shù),
5、注意setInterval()函數(shù)之前,先調(diào)用一次時間差函數(shù),不然刷新頁面時會出現(xiàn)一下標簽中寫的原始內(nèi)容,然后再出現(xiàn)計算出的時間差
代碼示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>倒計時效果</title>
<style>
div {
margin: 200px;
}
span {
display: block;
float: left;
width: 50px;
height: 50px;
line-height: 50px;
text-align: center;
margin: 5px;
color: #fff;
background-color: rgba(0, 0, 0, .8);
}
</style>
</head>
<body>
<div class="time">
<span class="day">0</span>
<span>天</span>
<span class="hour">1</span>
<span>小時</span>
<span class="minute">2</span>
<span>分</span>
<span class="second">3</span>
<span>秒</span>
</div>
<script>
var day = document.querySelector('.day');
var hour = document.querySelector('.hour');
var minute = document.querySelector('.minute');
var second = document.querySelector('.second');
var setTime = +new Date('2021-10-1 09:00:00');
countDown();
setInterval(countDown, 1000);
console.log(+new Date());
function countDown() {
var now = +new Date();
var times = (setTime - now) / 1000;
var d = parseInt(times / 60 / 60 / 24); //天
d = d < 10 ? '0' + d : d;
day.innerHTML = d; //把剩余的天給 天盒子
var h = parseInt(times / 60 / 60 % 24); //時
h = h < 10 ? '0' + h : h;
hour.innerHTML = h; //把剩余的小時給 小時盒子
var m = parseInt(times / 60 % 60); //分
m = m < 10 ? '0' + m : m;
minute.innerHTML = m; //把剩余的分給 分盒子
var s = parseInt(times % 60); //秒
s = s < 10 ? '0' + s : s;
second.innerHTML = s; //把剩余的秒給 秒盒子
}
</script>
</body>
</html>
注意:setInterval調(diào)用函數(shù)這里只寫函數(shù)名,不要在函數(shù)里寫參數(shù),寫了參數(shù)可能不會循環(huán)執(zhí)行,
例如:setInterval(countDown, 1000);
嘗試過寫setInterval(countDown(+new Date(‘2021-10-1 09:00:00')), 1000);
function countDown(setTime) {、、、}
這樣寫后setInterval失去循環(huán)執(zhí)行函數(shù)效果,不能產(chǎn)生倒計時效果,每次刷新頁面才會變化一次
頁面效果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解JavaScript的內(nèi)存空間、賦值和深淺拷貝
這篇文章主要介紹了JavaScript的內(nèi)存空間、賦值和深淺拷貝,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
微信小程序?qū)崿F(xiàn)長按 識別圖片二維碼(兩種方案)
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)長按 識別圖片二維碼(兩種方案),第一種方案只需要在image里面加一個屬性就可以了,本文結(jié)合實例代碼介紹的非常詳細,需要的朋友可以參考下2024-01-01
Echarts中的clear()和dispose()用法實例
這篇文章主要給大家介紹了關(guān)于Echarts中clear()和dispose()用法的相關(guān)資料,clear和dispose是echarts提供的用于解決內(nèi)存溢出的方法 ,文中介紹的非常詳細,需要的朋友可以參考下2023-10-10
js類型轉(zhuǎn)換與引用類型詳解(Boolean_Number_String)
本篇文章主要是對js中的類型轉(zhuǎn)換與引用類型(Boolean_Number_String)進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-03-03
Bootstrap框架結(jié)合jQuery仿百度換膚功能實例解析
這篇文章主要為大家詳細介紹了Bootstrap框架結(jié)合jQuery仿百度換膚功能實現(xiàn)代碼解析,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09

