用JS怎样做数字放大倒计时的效果
Admin 2022-08-09 群英技术资讯 273 次浏览
前段时间和朋友去音乐餐厅吃饭,中间有个活动,然后看到他们软件公众号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>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章带大家了解一下Node.js模块中的events模块,介绍一下什么是事件驱动、NodeJS的事件架构、Events模块核心API等,希望对大家有所帮助!
这篇文章主要为大家介绍了js作用域及作用域链工作引擎,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要为大家介绍了链表的定义、作用、实现,以及与数组的比较,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
前些日子了解到mqtt这样一个协议,可以在web上达到即时通讯的效果,所以下面这篇文章主要给大家介绍了关于vue中如何利用mqtt服务端实现即时通讯的相关资料,需要的朋友可以参考下
node中怎么使用Nest.js 连接 MongoDB 数据库?下面本篇文章给大家介绍一下node 框架 Nest.js 使用 MongoDB 的方法,希望对大家有所帮助!
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008