JavaScript仿京東實(shí)現(xiàn)秒殺倒計(jì)時(shí)案例詳解
功能介紹:
1、這個(gè)倒計(jì)時(shí)是不斷變化的,因此需要定時(shí)器來(lái)自動(dòng)變化(setInterval)
2、三個(gè)黑色的盒子,分別存放時(shí)、分秒
3、三個(gè)盒子利用innerHTML存入倒計(jì)時(shí)

<!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>Document</title>
<style>
div {
background-color: black;
width: 50px;
height: 50px;
margin-left: 20px;
float: left;
color: white;
font-size: 20px;
text-align: center;
line-height: 50px;
}
</style>
</head>
<body>
<div class='h1'></div>
<div class='m'></div>
<div class='s1'></div>
<script>
//把時(shí)間放到div中去
var div = document.querySelectorAll('div')
var timer1 = setInterval(function() {
var date1 = new Date(2022, 3, 2, 18, 40, 0); //獲得到點(diǎn)截至?xí)r間距離標(biāo)準(zhǔn)時(shí)間的毫秒數(shù)
var date2 = new Date(); //獲得目前時(shí)間距離準(zhǔn)時(shí)間的毫秒數(shù)
var date = (date1 - date2) / 1000; //用到點(diǎn)時(shí)間的毫秒數(shù)減去現(xiàn)在時(shí)間的毫秒數(shù),必須先化為秒單位,之后再進(jìn)行轉(zhuǎn)換
var h = parseInt((date / 60 / 60) % 24); //小時(shí)
var m = parseInt((date / 60) % 60); //分鐘
var s = parseInt(date % 60); //秒 一定要包含在這個(gè)函數(shù)中,因?yàn)槭情g隔1秒就要重新算一遍,需要提高準(zhǔn)確率的話(huà),把秒數(shù)減少(刷新間隔)
div[2].innerHTML = s
div[1].innerHTML = m
div[0].innerHTML = h
}, [1])
</script>
</body>
</html>改進(jìn):
<script>
//把時(shí)間放到div中去
var div = document.querySelectorAll('div')
var timer1 = setInterval(fn, [1000])
var date1 = new Date(2022, 3, 2, 18, 40, 0);
var date2 = new Date();
var date = (date1 - date2) / 1000;
var h = parseInt((date / 60 / 60) % 24);
var m = parseInt((date / 60) % 60);
var s = parseInt(date % 60);
div[2].innerHTML = s
div[1].innerHTML = m
div[0].innerHTML = h
//解決剛刷新,數(shù)字不顯示的問(wèn)題
function fn() {
var date1 = new Date(2022, 3, 2, 18, 40, 0); //獲得到點(diǎn)截至?xí)r間距離標(biāo)準(zhǔn)時(shí)間的毫秒數(shù)
var date2 = new Date(); //獲得目前時(shí)間距離準(zhǔn)時(shí)間的毫秒數(shù)
var date = (date1 - date2) / 1000; //用到點(diǎn)時(shí)間的毫秒數(shù)減去現(xiàn)在時(shí)間的毫秒數(shù),必須先化為秒單位,之后再進(jìn)行轉(zhuǎn)換
var h = parseInt((date / 60 / 60) % 24); //小時(shí)
var m = parseInt((date / 60) % 60); //分鐘
var s = parseInt(date % 60); //秒 一定要包含在這個(gè)函數(shù)中(最好是封裝一個(gè)函數(shù)),因?yàn)槭情g隔1秒就要重新算一遍,需要提高準(zhǔn)確率的話(huà),把秒數(shù)減少(刷新間隔).如果間隔比較大的話(huà),一刷新頁(yè)面,會(huì)產(chǎn)生空白。解決方法就是,在未調(diào)用這個(gè)函數(shù)前,先把時(shí)間放入到div盒子中
div[2].innerHTML = s
div[1].innerHTML = m
div[0].innerHTML = h
}
</script>添加停止倒計(jì)時(shí)按鈕:
<button>停止倒計(jì)時(shí)</button>
var btn = document.querySelector('button')
btn.addEventListener('click', function() {
clearInterval(timer1)
})到此這篇關(guān)于JavaScript仿京東實(shí)現(xiàn)秒殺倒計(jì)時(shí)案例詳解的文章就介紹到這了,更多相關(guān)JavaScript秒殺倒計(jì)時(shí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js設(shè)置隨機(jī)切換背景圖片的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js設(shè)置隨機(jī)切換背景圖片的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Javascript 異步加載詳解(瀏覽器在javascript的加載方式)
本文總結(jié)一下瀏覽器在 javascript 的加載方式,需要的朋友可以參考下2012-05-05
頁(yè)面只能打開(kāi)一次Cooike如何實(shí)現(xiàn)
由于WEBIM處在獨(dú)立頁(yè)面,所以如果多次點(diǎn)擊就會(huì)出現(xiàn)多個(gè)頁(yè)面,本文將介紹詳細(xì)的解決方法,需要了解的朋友可以參考下2012-12-12
JS實(shí)現(xiàn)獲取自定義屬性data值的方法示例
這篇文章主要介紹了JS實(shí)現(xiàn)獲取自定義屬性data值的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript針對(duì)自定義屬性data的相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
JavaScript實(shí)現(xiàn)身份證驗(yàn)證代碼
本文給大家分享的是使用javascript實(shí)現(xiàn)身份驗(yàn)證的規(guī)則以及代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2016-02-02
zTree實(shí)現(xiàn)節(jié)點(diǎn)修改的實(shí)時(shí)刷新功能
在實(shí)際應(yīng)用中會(huì)遇到動(dòng)態(tài)操作樹(shù)各節(jié)點(diǎn)的需求,在增加樹(shù)節(jié)點(diǎn)后如何實(shí)時(shí)動(dòng)態(tài)刷新樹(shù)就十分有必要了。這篇文章主要介紹了zTree實(shí)現(xiàn)節(jié)點(diǎn)修改的實(shí)時(shí)刷新功能,需要的朋友可以參考下2017-03-03
JS實(shí)現(xiàn)獲取來(lái)自百度,Google,soso,sogou關(guān)鍵詞的方法
這篇文章主要介紹了JS實(shí)現(xiàn)獲取來(lái)自百度,Google,soso,sogou關(guān)鍵詞的方法,結(jié)合實(shí)例形式分析了js獲取來(lái)路頁(yè)面的方法與相關(guān)搜索引擎關(guān)鍵詞的處理技巧,需要的朋友可以參考下2016-12-12

