如何用JavaScript制作一个炫酷的倒计时动画效果?

更新于
2026-09-25 01:53:47
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计601个文字,预计阅读时间需要3分钟。

如何用JavaScript制作一个炫酷的倒计时动画效果?

原文示例代码为:javascript// 倒计时动画实现let countDown={ init: function(target, endTime) { this.target=target; this.endTime=endTime; this.countDown(); }, countDown: function() { let now=new Date().getTime(); let remainTime=this.endTime - now; if (remainTime > 0) { let hours=Math.floor((remainTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let minutes=Math.floor((remainTime % (1000 * 60 * 60)) / (1000 * 60)); let seconds=Math.floor((remainTime % (1000 * 60)) / 1000); this.target.textContent=`${hours}小时${minutes}分钟${seconds}秒`; setTimeout(this.countDown.bind(this), 1000); } else { this.target.textContent='时间到!'; } }};

// 使用示例let endTime=new Date('2022-12-31T23:59:59').getTime();countDown.init(document.getElementById('countDown'), endTime);

改写后内容:javascript// 简易倒计时实现let countdown={ start: function(element, finalTime) { this.element=element; this.finalTime=finalTime; this.update(); }, update: function() { let currentTime=new Date().getTime(); let remaining=this.finalTime - currentTime; if (remaining > 0) { let hours=Math.floor(remaining / (1000 * 60 * 60)); let minutes=Math.floor((remaining % (1000 * 60 * 60)) / (1000 * 60)); let seconds=Math.floor((remaining % (1000 * 60)) / 1000); this.element.innerText=`${hours}时${minutes}分${seconds}秒`; setTimeout(this.update.bind(this), 1000); } else { this.element.innerText='倒计时结束'; } }};

如何用JavaScript制作一个炫酷的倒计时动画效果?

// 应用示例let endTime=new Date('Dec 31, 2022 23:59:59').getTime();countdown.start(document.getElementById('countdown'), endTime);

本文实例为大家分享了js实现酷炫倒计时动画的具体代码,供大家参考,具体内容如下

前段时间和朋友去音乐餐厅吃饭,中间有个活动,然后看到他们软件公众号H5有个活动开始的倒计时的动画效果,于是想了下实现思路。

<!DOCTYPE html> <html> <head>     <meta charset="utf-8" />     <title>js实现酷炫倒计时动画效果</title>     <style>       *{margin:0;padding:0;}       body{width:100%;height:100%;overflow:hidden;}       .box{width:1000px;height:700px;margin:100px auto;}       .btn{width:100px;height:100px;margin:50px auto 0;font-size:16px;color:#fff;text-align:center;line-height:100px;border-radius:100px;background:#3385ff;}       .btn:hover{box-shadow: 0 0 10px #77aeff;cursor:pointer;}       h1{font-size:300px;color:red;text-align:center;}       h1.active{animation:count .5s;}       @keyframes count {         from {           transform: scale(.1);           opacity: 1;         }         to {           transform: scale(3.5);           opacity: 0;           display:none;         }       }     </style> </head> <body>   <div class="btn">倒计时</div>   <div class="box">     <h1 style="display:none;">10</h1>   </div> </body> <script>   let NUMBER = 1;   let COUNT = 10;   let COLORS = ['#8c00ff', '#006bff', '#4fff00', '#ffb800', '#ff0000'];   let timer = null;   function $(str) {     return document.querySelector(str);   }   function actionNum () {     let h1 = $('h1');     $('h1').style.display = 'block';     timer = setInterval(() => {       COUNT--;       NUMBER++;       if (COUNT >= 0) {         h1.classList.remove('active');         setTimeout(() => {           let num = Math.floor(Math.random()*5);           h1.innerText = COUNT;           h1.style.color = COLORS[num];           h1.classList.add('active');         }, 100);       } else {         clearInterval(timer);       }     }, 1000);   }   $('.btn').onclick = function () {     if (COUNT < 0) {       COUNT = 11;     }     actionNum();   }; </script> </html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计601个文字,预计阅读时间需要3分钟。

如何用JavaScript制作一个炫酷的倒计时动画效果?

原文示例代码为:javascript// 倒计时动画实现let countDown={ init: function(target, endTime) { this.target=target; this.endTime=endTime; this.countDown(); }, countDown: function() { let now=new Date().getTime(); let remainTime=this.endTime - now; if (remainTime > 0) { let hours=Math.floor((remainTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let minutes=Math.floor((remainTime % (1000 * 60 * 60)) / (1000 * 60)); let seconds=Math.floor((remainTime % (1000 * 60)) / 1000); this.target.textContent=`${hours}小时${minutes}分钟${seconds}秒`; setTimeout(this.countDown.bind(this), 1000); } else { this.target.textContent='时间到!'; } }};

// 使用示例let endTime=new Date('2022-12-31T23:59:59').getTime();countDown.init(document.getElementById('countDown'), endTime);

改写后内容:javascript// 简易倒计时实现let countdown={ start: function(element, finalTime) { this.element=element; this.finalTime=finalTime; this.update(); }, update: function() { let currentTime=new Date().getTime(); let remaining=this.finalTime - currentTime; if (remaining > 0) { let hours=Math.floor(remaining / (1000 * 60 * 60)); let minutes=Math.floor((remaining % (1000 * 60 * 60)) / (1000 * 60)); let seconds=Math.floor((remaining % (1000 * 60)) / 1000); this.element.innerText=`${hours}时${minutes}分${seconds}秒`; setTimeout(this.update.bind(this), 1000); } else { this.element.innerText='倒计时结束'; } }};

如何用JavaScript制作一个炫酷的倒计时动画效果?

// 应用示例let endTime=new Date('Dec 31, 2022 23:59:59').getTime();countdown.start(document.getElementById('countdown'), endTime);

本文实例为大家分享了js实现酷炫倒计时动画的具体代码,供大家参考,具体内容如下

前段时间和朋友去音乐餐厅吃饭,中间有个活动,然后看到他们软件公众号H5有个活动开始的倒计时的动画效果,于是想了下实现思路。

<!DOCTYPE html> <html> <head>     <meta charset="utf-8" />     <title>js实现酷炫倒计时动画效果</title>     <style>       *{margin:0;padding:0;}       body{width:100%;height:100%;overflow:hidden;}       .box{width:1000px;height:700px;margin:100px auto;}       .btn{width:100px;height:100px;margin:50px auto 0;font-size:16px;color:#fff;text-align:center;line-height:100px;border-radius:100px;background:#3385ff;}       .btn:hover{box-shadow: 0 0 10px #77aeff;cursor:pointer;}       h1{font-size:300px;color:red;text-align:center;}       h1.active{animation:count .5s;}       @keyframes count {         from {           transform: scale(.1);           opacity: 1;         }         to {           transform: scale(3.5);           opacity: 0;           display:none;         }       }     </style> </head> <body>   <div class="btn">倒计时</div>   <div class="box">     <h1 style="display:none;">10</h1>   </div> </body> <script>   let NUMBER = 1;   let COUNT = 10;   let COLORS = ['#8c00ff', '#006bff', '#4fff00', '#ffb800', '#ff0000'];   let timer = null;   function $(str) {     return document.querySelector(str);   }   function actionNum () {     let h1 = $('h1');     $('h1').style.display = 'block';     timer = setInterval(() => {       COUNT--;       NUMBER++;       if (COUNT >= 0) {         h1.classList.remove('active');         setTimeout(() => {           let num = Math.floor(Math.random()*5);           h1.innerText = COUNT;           h1.style.color = COLORS[num];           h1.classList.add('active');         }, 100);       } else {         clearInterval(timer);       }     }, 1000);   }   $('.btn').onclick = function () {     if (COUNT < 0) {       COUNT = 11;     }     actionNum();   }; </script> </html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。