用javascript實(shí)現(xiàn)倒計(jì)時(shí)效果
用Javascript實(shí)現(xiàn)倒計(jì)時(shí)效果,供大家參考,具體內(nèi)容如下
正在學(xué)習(xí)大前端中,有代碼和思路不規(guī)范不正確的地方往多多包涵,感謝指教
在某些商城網(wǎng)站中,我們常??梢钥匆娖渚W(wǎng)站或者app上有一個(gè)區(qū)域放的是倒計(jì)時(shí),來(lái)用來(lái)提醒用戶還有多少時(shí)間將會(huì)發(fā)生什么事情,下面我們用代碼來(lái)對(duì)其進(jìn)行實(shí)現(xiàn)
代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { margin: 300px; border: 1px solid pink; } span { display: inline-block; width: 40px; height: 40px; background-color: blue; font-size: 20px; color: #fff; text-align: center; line-height: 40px; } </style> </head> <body> <div> <span class="hour">1</span> <span class="minute">2</span> <span class="second">3</span> </div> <script> var hours=document.querySelector('.hour') var min=document.querySelector('.minute') var sce=document.querySelector('.second') var inputTime=+new Date('2021-2-8 16:40:00') //countDown()//先1調(diào)用,防止第一次刷新有空白 //開啟定時(shí)器,這是等了1000ms后才開啟的定時(shí)器 setInterval(countDown,1) function countDown() { var nowTime = +new Date(); // 返回的是當(dāng)前時(shí)間總的毫秒數(shù) var times = (inputTime - nowTime) / 1000; // times是剩余時(shí)間總的秒數(shù) var h = parseInt(times / 60 / 60 % 24); //時(shí) h = h < 10 ? '0' + h : h; hours.innerHTML = h; // 把剩余的小時(shí)給 小時(shí)黑色盒子 var m = parseInt(times / 60 % 60); // 分 m = m < 10 ? '0' + m : m; min.innerHTML = m; var s = parseInt(times % 60); // 當(dāng)前的秒 s = s < 10 ? '0' + s : s; sce.innerHTML = s; } </script> </body> </html>
演示效果:
時(shí)間一秒一秒得倒計(jì)時(shí)
代碼解釋:
這里我把三個(gè)行內(nèi)元素span放在了塊元素div里面,由于行內(nèi)元素不能改寬高,所以都換成行內(nèi)塊元素。
這里因?yàn)榈褂?jì)時(shí)要修改的地方是三個(gè)span盒子,分別對(duì)應(yīng)這小時(shí),分鐘,秒數(shù)所以獲取這三個(gè)span的事件。然后用inputTime這個(gè)變量來(lái)接收我們的目的時(shí)間。
然后創(chuàng)建一個(gè)countDown為名字的函數(shù)。函數(shù)里面用nowTime這個(gè)變量來(lái)接收當(dāng)前的時(shí)間。因?yàn)榻邮盏降臅r(shí)間是以毫秒為單位,所以用一個(gè)變量times來(lái)接收目的時(shí)間和現(xiàn)在時(shí)間的時(shí)間差,然后再除以1000,因?yàn)?s=1000ms,這里就得到了剩余的秒數(shù)。
用h表示剩余的小時(shí)一天=24小時(shí),一個(gè)小時(shí)=60分鐘,1分鐘=60s。所以這里用總的秒數(shù)/60/60%24就得到了剩余的小時(shí)數(shù)。然后為了讓樣式更好看,我們把顯示小數(shù)設(shè)置為兩位,這里用的是三元運(yùn)算符:小時(shí)小于10?如果小于就在前面+‘0';如果大于10就只返回?cái)?shù)字。并用h來(lái)進(jìn)行接收,然后把h給hours這個(gè)盒子。下面的分鐘和秒數(shù)都是一樣的原理。
然后函數(shù)寫好了,我們?cè)儆枚〞r(shí)器來(lái)調(diào)用這個(gè)函數(shù),間隔時(shí)間為1/1000ms。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS 倒計(jì)時(shí)實(shí)現(xiàn)代碼(時(shí)、分,秒)
- JS實(shí)現(xiàn)倒計(jì)時(shí)(天數(shù)、時(shí)、分、秒)
- 簡(jiǎn)單易用的倒計(jì)時(shí)js代碼
- js代碼實(shí)現(xiàn)點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí)
- 2種簡(jiǎn)單的js倒計(jì)時(shí)方式
- 原生JS實(shí)現(xiàn)簡(jiǎn)單的倒計(jì)時(shí)功能示例
- js幾秒以后倒計(jì)時(shí)跳轉(zhuǎn)示例
- 一個(gè)不錯(cuò)的js html頁(yè)面倒計(jì)時(shí)可精確到秒
- js實(shí)現(xiàn)點(diǎn)擊獲取驗(yàn)證碼倒計(jì)時(shí)效果
- Javascript實(shí)現(xiàn)商品秒殺倒計(jì)時(shí)(時(shí)間與服務(wù)器時(shí)間同步)
相關(guān)文章
網(wǎng)站404頁(yè)面3秒后跳到首頁(yè)的實(shí)例代碼
我們看到很多網(wǎng)站會(huì)有有錯(cuò)誤404頁(yè)面,當(dāng)頁(yè)面不存存時(shí)就會(huì)提示,然后過幾秒就會(huì)自動(dòng)跳到首頁(yè)了,下面我來(lái)給大家舉一個(gè)404錯(cuò)誤頁(yè)面跳到首頁(yè)實(shí)例,各位可參考,有需要的朋友可以參考一下2013-08-08使用gulp搭建本地服務(wù)器并實(shí)現(xiàn)模擬ajax
這篇文章主要給大家介紹了如何使用gulp搭建本地服務(wù)器并實(shí)現(xiàn)模擬ajax的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04火狐下input焦點(diǎn)無(wú)法重復(fù)獲取問題的解決方法
input輸入框顯示的時(shí)候,需要自動(dòng)獲取焦點(diǎn),用focus可以輕松搞定,但在火狐下input無(wú)法獲取焦點(diǎn),下面與大家分享下不錯(cuò)的解決方法2014-06-06基于js實(shí)現(xiàn)二級(jí)下拉聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了基于js實(shí)現(xiàn)二級(jí)下拉聯(lián)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12java實(shí)現(xiàn)單鏈表增刪改查的實(shí)例代碼詳解
在本篇文章里小編給大家整理了關(guān)于java實(shí)現(xiàn)單鏈表增刪改查的實(shí)例內(nèi)容,需要的朋友們可以參考下。2019-08-08js獲取元素到可視區(qū)的距離、瀏覽器窗口滾動(dòng)距離及元素距離瀏覽器頂部距離
這篇文章主要給大家介紹了關(guān)于js獲取元素到可視區(qū)的距離、瀏覽器窗口滾動(dòng)距離及元素距離瀏覽器頂部距離的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11JavaScript用Number方法實(shí)現(xiàn)string轉(zhuǎn)int
parseInt方法在format'00'開頭的數(shù)字時(shí)會(huì)當(dāng)作2進(jìn)制轉(zhuǎn)10進(jìn)制,所以建議string轉(zhuǎn)int最好用Number方法2014-05-05js實(shí)現(xiàn)短信發(fā)送倒計(jì)時(shí)功能(正則驗(yàn)證)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)短信發(fā)送倒計(jì)時(shí)功能,包含正則驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02