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

一步步教你用js簡(jiǎn)單實(shí)現(xiàn)新年倒計(jì)時(shí)

 更新時(shí)間:2022年12月23日 09:55:39   作者:sherlockkid7  
一轉(zhuǎn)眼已經(jīng)臘月了,相信小伙伴們一定想知道我們距離2023新年還有多少天,下面這篇文章主要給大家介紹了關(guān)于如何一步步教你用js簡(jiǎn)單實(shí)現(xiàn)新年倒計(jì)時(shí)的相關(guān)資料,需要的朋友可以參考下

前言

2022年已經(jīng)接近尾聲了,馬上又是新的一年。每天都數(shù)著日子,期待放假,回家過(guò)年了。今天來(lái)簡(jiǎn)單實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)功能,能夠?qū)崟r(shí)看到還有多少天就過(guò)年了。

具體實(shí)現(xiàn)

1. 畫(huà)紅燈籠

為了增加一些快過(guò)年的喜慶氛圍,因此使用css實(shí)現(xiàn)了兩個(gè)紅燈籠展示到頁(yè)面上。

燈籠分成4個(gè)部分組成,燈籠頂部、燈籠主體、燈籠底部、燈籠穗。

<div class="lantern">
  <div class="lantern-top"></div>
  <div class="lantern-inner">
    福
  </div>
  <div class="lantern-bottom"></div>
  <ul class="ribbons">
    <li></li>
    ...
  </ul>
</div>

燈籠的頂部、底部為黃色長(zhǎng)方形的形狀,并設(shè)置不同方向邊角的弧度,實(shí)現(xiàn)形狀圓滑

.lantern-top,
.lantern-bottom {
  margin: 0 auto;
  position: relative;
  width: 25%;
  height: 7%;
  background-color: #ffd700;
  z-index: 11;

}

.lantern-top {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

燈籠主體為寬高一致的正方形,并使用border-radius屬性設(shè)置邊角的弧度,實(shí)現(xiàn)燈體圓滾滾的形狀。使用box-shadow屬性設(shè)置陰影,實(shí)現(xiàn)燈籠發(fā)光的效果

.lantern-inner {
  width: 50%;
  height: 50%;
  margin: 0 auto;
  position: relative;
  font-size: 60px;
  color: #ffd700;
  border-radius: 40px;
  box-shadow: 0px 0px 206px 34px rgba(250, 108, 0, 1);
  background-color: #f00;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 20;
}

燈穗由10個(gè)紅色、黃色相間的長(zhǎng)條組成,給偶數(shù)的li設(shè)置黃色的背景,奇數(shù)的li設(shè)置紅色的背景,并設(shè)置一個(gè)左右晃動(dòng)的動(dòng)畫(huà)。整個(gè)燈籠也需要加上這個(gè)動(dòng)畫(huà),實(shí)現(xiàn)在風(fēng)中搖曳的效果。

@keyframes wobble {
  0%,
  100% {
    transform: rotate(3deg);
  }

  50% {
    transform: rotate(-3deg);
  }
}

2. 實(shí)現(xiàn)新年倒計(jì)時(shí)效果

a. 首先獲取頁(yè)面中展示倒計(jì)時(shí)天數(shù)、小時(shí)數(shù)、分鐘數(shù)、秒數(shù)的各個(gè)元素。

b. 計(jì)算剩余時(shí)間

獲取2023年除夕(1月21號(hào))的時(shí)間戳、以及當(dāng)前日期的時(shí)間戳,兩個(gè)時(shí)間戳相減,得到剩余的時(shí)間,根據(jù)這個(gè)時(shí)間計(jì)算有多少天、多少小時(shí)、多少分鐘、多少秒,再把計(jì)算出的相應(yīng)數(shù)值展示到頁(yè)面上。(ps: 當(dāng)剩余時(shí)間為0或者小于0,則不用展示時(shí)間了,直接展示文字‘新年快樂(lè)’)

c. 寫(xiě)一個(gè)定時(shí)器,每個(gè)一秒鐘,執(zhí)行一次計(jì)算時(shí)間的函數(shù),實(shí)現(xiàn)時(shí)間的實(shí)時(shí)改變。當(dāng)剩余時(shí)間小于等于1秒鐘,則可以清除定時(shí)器,不用計(jì)算剩余時(shí)間了

const countText = document.querySelector('.count-down')
const d = document.querySelector('.days');
const h = document.querySelector('.hours');
const m = document.querySelector('.minutes');
const s = document.querySelector('.seconds');

function getTrueNumber(num) {
  return num < 10 ? "0" + num : num;
}

function calculateRemainingTime() {
  const comingYear = new Date().getFullYear() + 1;
  const comingDate = new Date(`Jan 21, ${comingYear} 00:00:00`);

  const now = new Date();
  const remainingTime = comingDate.getTime() - now.getTime();
  const days = Math.floor(remainingTime / (1000 * 60 * 60 * 24));
  const hours = Math.floor((remainingTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  const mins = Math.floor((remainingTime % (1000 * 60 * 60)) / (1000 * 60));
  const secs = Math.floor((remainingTime % (1000 * 60)) / 1000);

  d.innerHTML = getTrueNumber(days);
  h.innerHTML = getTrueNumber(hours);
  m.innerHTML = getTrueNumber(mins);
  s.innerHTML = getTrueNumber(secs);
  
  if(remainingTime <= 0){
    countText.innerHTML = '新年快樂(lè)'
  }
  return remainingTime;
}

function initCountdown() {
  const interval = setInterval(() => {
    const remainingTimeInMs = calculateRemainingTime();
    if (remainingTimeInMs <= 1000) {
      clearInterval(interval);
    }

  }, 1000);
}

initCountdown();

3. 實(shí)現(xiàn)雪花紛飛的場(chǎng)景

根據(jù)上一篇文章《給南方的冬季,來(lái)一場(chǎng)紛紛揚(yáng)揚(yáng)的大雪》,實(shí)現(xiàn)下雪,突現(xiàn)瑞雪兆豐年的寓意

最終的效果展示

總結(jié)

到此這篇關(guān)于用js簡(jiǎn)單實(shí)現(xiàn)新年倒計(jì)時(shí)的文章就介紹到這了,更多相關(guān)js實(shí)現(xiàn)新年倒計(jì)時(shí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript調(diào)用C語(yǔ)言的幾種方式

    JavaScript調(diào)用C語(yǔ)言的幾種方式

    本文主要介紹了JavaScript調(diào)用C語(yǔ)言的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • JS動(dòng)態(tài)修改圖片的URL(src)的方法

    JS動(dòng)態(tài)修改圖片的URL(src)的方法

    這篇文章主要介紹了JS動(dòng)態(tài)修改圖片的URL(src)的方法,涉及javascript操作圖片src屬性的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • javascript日期格式化方法匯總

    javascript日期格式化方法匯總

    本文給大家匯總介紹了javascript格式化日期時(shí)間的幾種常用方法,個(gè)人對(duì)最后一種個(gè)性化輸出時(shí)間比較有興趣,基本上只要項(xiàng)目中能用到都是使用這種,推薦給小伙伴們。
    2015-10-10
  • 理解javascript封裝

    理解javascript封裝

    這篇文章主要幫助大家理解學(xué)習(xí)javascript封裝,通過(guò)封裝可以強(qiáng)制實(shí)施信息隱藏,本文為大家分析了封裝的利弊,感興趣的小伙伴們可以參考一下
    2016-02-02
  • confirm確認(rèn)對(duì)話框的實(shí)現(xiàn)方法總結(jié)

    confirm確認(rèn)對(duì)話框的實(shí)現(xiàn)方法總結(jié)

    下面小編就為大家?guī)?lái)一篇confirm確認(rèn)對(duì)話框的實(shí)現(xiàn)方法總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • JS類(lèi)中定義原型方法的兩種實(shí)現(xiàn)的區(qū)別

    JS類(lèi)中定義原型方法的兩種實(shí)現(xiàn)的區(qū)別

    JS類(lèi)中定義原型方法的兩種實(shí)現(xiàn)的區(qū)別...
    2007-03-03
  • js腳本中執(zhí)行java后臺(tái)代碼方法解析

    js腳本中執(zhí)行java后臺(tái)代碼方法解析

    這篇文章主要介紹了js腳本中執(zhí)行java后臺(tái)代碼方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • JavaScript阻止事件冒泡和默認(rèn)行為的方法舉例

    JavaScript阻止事件冒泡和默認(rèn)行為的方法舉例

    JavaScript事件的默認(rèn)行為指瀏覽器自動(dòng)執(zhí)行的操作,如鏈接跳轉(zhuǎn)或表單提交,阻止這些行為可以使用event.preventDefault()、return?false或event.returnValue屬性,event.stopPropagation()用于阻止事件傳播,不直接阻止默認(rèn)行為,需要的朋友可以參考下
    2024-10-10
  • Javascript for in的缺陷總結(jié)

    Javascript for in的缺陷總結(jié)

    這篇文章主要介紹了Javascript for in的缺陷總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 在一個(gè)瀏覽器里呈現(xiàn)所有瀏覽器測(cè)試結(jié)果的前端測(cè)試工具的思路

    在一個(gè)瀏覽器里呈現(xiàn)所有瀏覽器測(cè)試結(jié)果的前端測(cè)試工具的思路

    對(duì)前端工程師來(lái)說(shuō),跨瀏覽器的兼容性問(wèn)題一直是最頭疼的,測(cè)試一個(gè)小小的東西,就要打開(kāi)N個(gè)瀏覽器,然后比較來(lái)比較去,記錄個(gè)瀏覽器的數(shù)據(jù),比較不同,實(shí)在是麻煩.
    2010-03-03

最新評(píng)論

五峰| 永泰县| 湘阴县| 鹰潭市| 永宁县| 保靖县| 喜德县| 霍邱县| 丁青县| 原平市| 双流县| 芮城县| 木兰县| 旬邑县| 乐都县| 射阳县| 泌阳县| 和政县| 靖远县| 依兰县| 阜城县| 巢湖市| 平邑县| 高州市| 白银市| 吉木萨尔县| 台前县| 南川市| 六枝特区| 绥江县| 米林县| 西乡县| 白河县| 嘉祥县| 兰考县| 辉南县| 民勤县| 鸡西市| 开江县| 乌拉特前旗| 巨鹿县|