最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)簡單網(wǎng)頁倒計(jì)時(shí)器

 更新時(shí)間:2022年08月09日 11:30:01   作者:小楊不香菜  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡單網(wǎng)頁倒計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

制作一個(gè)簡單的網(wǎng)頁倒計(jì)時(shí)器(js原生代碼),供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)一個(gè)簡單的網(wǎng)頁倒計(jì)時(shí)(距離xx年x月x日還剩多少時(shí)間),效果是這樣的

首先HTML代碼部分,我們需要簡單編寫一個(gè)html代碼,用來接收倒計(jì)時(shí)時(shí)間顯示。

<div id="box"></div>

接下來就是JS代碼部分。

首先要知道當(dāng)前的時(shí)間,然后還需要指定一個(gè)到期時(shí)間,拿到當(dāng)前時(shí)間和指定時(shí)間的時(shí)間差

function antitime() {
? ? var now = new Date(); //獲取當(dāng)前時(shí)間
? ? var to = new Date(2032, 1, 1, 0, 0, 0); //指定到期時(shí)間
? ? // 然后拿到當(dāng)前時(shí)間和指定時(shí)間的時(shí)間差,注意 是毫秒數(shù)
? ? var deltaTime = (to - now) / 1000; //到期時(shí)間和當(dāng)前時(shí)間相差的毫秒數(shù)/1000換算出總的秒數(shù),方便后邊用
? ? // console.log(deltaTime)

判斷 如果時(shí)間超了,停止倒計(jì)時(shí)

if (deltaTime <= 0) {
// 停止計(jì)時(shí)器
?window.clearInterval(antitime);
}

已知總的秒數(shù),計(jì)算天數(shù)時(shí)分秒
這里用到了取整數(shù)的方法,用到哪在哪除,并給其定義賦值,方便后面取用,用parseInt()取整或者M(jìn)ath.floor()取整,在這里用的是Math.floor()。

// 計(jì)算天數(shù)并給其賦值
? ?var d = Math.floor(deltaTime / 3600 / 24),
? ? // 計(jì)算小時(shí)并給其賦值
? ?  h = Math.floor(deltaTime / 3600 % 24),
? ?// 計(jì)算分鐘并給其賦值
?  ? m = Math.floor(deltaTime / 60 % 60),
? ?// 計(jì)算秒數(shù)并給其賦值
?   s = Math.floor(deltaTime % 60);

實(shí)際上就是時(shí)間換算的基本運(yùn)算,這里看懂了也就簡單多了,只需要封裝好函數(shù)就可以了。

為了增加用戶體驗(yàn),把時(shí)間的數(shù)字轉(zhuǎn)成字符串,如果分秒毫秒不足10,則前面補(bǔ)0。
這里應(yīng)該有更好的方法進(jìn)行封裝,為了更好理解,這樣寫出來。

if (d < 10) {
? ? ? ? ? ? ? ? d = '0' + d;
? ? ? ? ? ? } else if (h < 10) {
? ? ? ? ? ? ? ? h = '0' + h;
? ? ? ? ? ? } else if (m < 10) {
? ? ? ? ? ? ? ? m = '0' + m;
? ? ? ? ? ? } else if (s < 10) {
? ? ? ? ? ? ? ? s = '0' + s;
? ? ? ? ? ? }

接下來就是需要定義一個(gè)空的字符串用來接收最后字符串拼接的值。

var timer01 = '';
? timer01 = '距離2032年1月1日還有' + d + '天' + h + '小時(shí)' + m + '分' + s + '秒';
? ? document.getElementById('box');
? ? box.innerHTML = timer01;

document.getElementById() 獲取DOM元素節(jié)點(diǎn),方便向節(jié)點(diǎn)填入數(shù)據(jù)并顯示。
box.innerHTML = timer01 讓id擁有box屬性的元素節(jié)點(diǎn)在頁面顯示timer01中的內(nèi)容。

最后, 開啟定時(shí)器,并讓其1000毫秒更新一次

setInterval(antitime, 1000);

總體JS部分代碼加上注釋給大家放這里了

<script>
? ? ? ? // ? ?指定計(jì)時(shí)器到期時(shí)間,首先先封裝函數(shù)antitime()
? ? ? ? function antitime() {
? ? ? ? ? ? var now = new Date(); //獲取當(dāng)前時(shí)間
? ? ? ? ? ? var to = new Date(2032, 1, 1, 0, 0, 0); //指定到期時(shí)間
? ? ? ? ? ? // 然后拿到當(dāng)前時(shí)間和指定時(shí)間的時(shí)間差,注意 是毫秒數(shù)
? ? ? ? ? ? var deltaTime = (to - now) / 1000; //到期時(shí)間和當(dāng)前時(shí)間相差的毫秒數(shù)/1000換算出總的秒數(shù),方便后邊用
? ? ? ? ? ? // console.log(deltaTime)
? ? ? ? ? ? // 判斷 如果時(shí)間超了,停止倒計(jì)時(shí)
? ? ? ? ? ? if (deltaTime <= 0) {
? ? ? ? ? ? ? ? // 停止計(jì)時(shí)器
? ? ? ? ? ? ? ? window.clearInterval(antitime);
? ? ? ? ? ? }
? ? ? ? ? ? // 已知毫秒數(shù),計(jì)算天數(shù)時(shí)分秒
? ? ? ? ? ? // 這里用到了取整數(shù)的方法,用到哪在哪除,并給其定義賦值,方便后面取用,
? ? ? ? ? ? // 用parseInt()取整或者M(jìn)ath.floor()取整,在這里用的是Math.floor()。
? ? ? ? ? ? // 計(jì)算天數(shù)并給其賦值
? ? ? ? ? ? var d = Math.floor(deltaTime / 3600 / 24),
? ? ? ? ? ? ? ? // 計(jì)算小時(shí)并給其賦值
? ? ? ? ? ? ? ? h = Math.floor(deltaTime / 3600 % 24),
? ? ? ? ? ? ? ? // 計(jì)算分鐘并給其賦值
? ? ? ? ? ? ? ? m = Math.floor(deltaTime / 60 % 60),
? ? ? ? ? ? ? ? // 計(jì)算秒數(shù)并給其賦值
? ? ? ? ? ? ? ? s = Math.floor(deltaTime % 60);

? ? ? ? ? ? //為了增加用戶體驗(yàn),把時(shí)間的數(shù)字轉(zhuǎn)成字符串,如果分秒毫秒不足10,則前面補(bǔ)0。
? ? ? ? ? ? // 這里應(yīng)該有更好的方法進(jìn)行封裝,為了更好理解,這樣寫出來。
? ? ? ? ? ? if (d < 10) {
? ? ? ? ? ? ? ? d = '0' + d;
? ? ? ? ? ? } else if (h < 10) {
? ? ? ? ? ? ? ? h = '0' + h;
? ? ? ? ? ? } else if (m < 10) {
? ? ? ? ? ? ? ? m = '0' + m;
? ? ? ? ? ? } else if (s < 10) {
? ? ? ? ? ? ? ? s = '0' + s;
? ? ? ? ? ? }
? ? ? ? ? ? // 定義一個(gè)空的字符串用來接收最后的值
? ? ? ? ? ? var timer01 = '';
? ? ? ? ? ? timer01 = '距離2032年1月1日還有' + d + '天' + h + '小時(shí)' + m + '分' + s + '秒';
? ? ? ? ? ? // document.getElementById() 獲取DOM元素節(jié)點(diǎn),方便向節(jié)點(diǎn)填入數(shù)據(jù)并顯示
? ? ? ? ? ? document.getElementById('box');
? ? ? ? ? ? // 讓id擁有box屬性的元素節(jié)點(diǎn)在頁面顯示timer01中的內(nèi)容
? ? ? ? ? ? box.innerHTML = timer01;
? ? ? ? }
? ? ? ? // 開啟定時(shí)器,并讓其1000毫秒更新一次
? ? ? ? setInterval(antitime, 1000);
</script>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解基于DllPlugin和DllReferencePlugin的webpack構(gòu)建優(yōu)化

    詳解基于DllPlugin和DllReferencePlugin的webpack構(gòu)建優(yōu)化

    這篇文章主要介紹了詳解基于DllPlugin和DllReferencePlugin的webpack構(gòu)建優(yōu)化,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • 一文帶你搞懂JavaScript中的原型和原型鏈

    一文帶你搞懂JavaScript中的原型和原型鏈

    JavaScript是基于原型繼承的語言,每個(gè)對象都有一個(gè)原型(prototype),本文則是重點(diǎn)對prototype相關(guān)知識點(diǎn)做拆解和梳理,感興趣的可以了解下
    2023-08-08
  • 微信小程序以ssm做后臺開發(fā)的實(shí)現(xiàn)示例

    微信小程序以ssm做后臺開發(fā)的實(shí)現(xiàn)示例

    這篇文章主要介紹了微信小程序以ssm做后臺開發(fā)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • js 頁面關(guān)閉前的出現(xiàn)提示的實(shí)現(xiàn)代碼

    js 頁面關(guān)閉前的出現(xiàn)提示的實(shí)現(xiàn)代碼

    主流的瀏覽器都支持onbeforeunload事件(即頁面卸載前觸發(fā)的事件),而現(xiàn)在大多網(wǎng)站都用到了此功能
    2011-05-05
  • 最新評論

    无锡市| 新河县| 北碚区| 乃东县| 郁南县| 额尔古纳市| 黑水县| 建始县| 阿克陶县| 清水县| 安陆市| 连山| 岚皋县| 隆回县| 高雄市| 英德市| 贵德县| 平潭县| 阿克陶县| 通榆县| 武陟县| 科技| 姜堰市| 嘉禾县| 马山县| 易门县| 大宁县| 台州市| 高淳县| 克东县| 南汇区| 翁牛特旗| 德州市| 大田县| 芜湖县| 蒙城县| 饶河县| 五寨县| 湾仔区| 惠水县| 勐海县|