如何用JavaScript编写一个炫酷的倒计时动画效果?
- 内容介绍
- 文章标签
- 相关推荐
本文共计628个文字,预计阅读时间需要3分钟。
本文分享了一个使用JavaScript实现的倒计时动画示例代码。代码如下:
javascript// 定义倒计时函数function countdown(duration) { let seconds=duration, timer=setInterval(function () { // 显示剩余时间 document.getElementById(countdown).innerHTML=`倒计时:${seconds}秒`; // 减少一秒 seconds--; // 当倒计时结束时 if (seconds <0) { clearInterval(timer); document.getElementById(countdown).innerHTML=倒计时结束; } }, 1000);}
// 页面加载完毕后开始倒计时window.onload=function () { countdown(30); // 设置倒计时时间为30秒};
该代码实现了以下功能:
1. 定义了一个`countdown`函数,接收一个参数`duration`,表示倒计时的总秒数。
2.在函数内部,使用`setInterval`每秒执行一次倒计时逻辑。
3.每次执行时,显示剩余时间,并减少一秒。
4.当剩余时间小于0时,清除定时器,并显示倒计时结束信息。
在HTML中,需要添加一个元素来显示倒计时,如下:
这段代码将实现一个30秒的倒计时动画。
本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。
本文共计628个文字,预计阅读时间需要3分钟。
本文分享了一个使用JavaScript实现的倒计时动画示例代码。代码如下:
javascript// 定义倒计时函数function countdown(duration) { let seconds=duration, timer=setInterval(function () { // 显示剩余时间 document.getElementById(countdown).innerHTML=`倒计时:${seconds}秒`; // 减少一秒 seconds--; // 当倒计时结束时 if (seconds <0) { clearInterval(timer); document.getElementById(countdown).innerHTML=倒计时结束; } }, 1000);}
// 页面加载完毕后开始倒计时window.onload=function () { countdown(30); // 设置倒计时时间为30秒};
该代码实现了以下功能:
1. 定义了一个`countdown`函数,接收一个参数`duration`,表示倒计时的总秒数。
2.在函数内部,使用`setInterval`每秒执行一次倒计时逻辑。
3.每次执行时,显示剩余时间,并减少一秒。
4.当剩余时间小于0时,清除定时器,并显示倒计时结束信息。
在HTML中,需要添加一个元素来显示倒计时,如下:
这段代码将实现一个30秒的倒计时动画。
本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

