实例讲解JS+CSS实现滚动数字时钟效果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了实例讲解JS+CSS实现滚动数字时钟效果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4804字,纯文字阅读大概需要7分钟。
内容图文
本文我们主要用js配合css样式表来实现一个滚动时钟的动画效果,这个效果一般都是用在网页开场动画以及区域的时间显示中,非常好看,动画效果也很个性,我们先来看下运行后的效果:下面就是这个滚动时钟动画的全部代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>CSS3+JS滚动数字时钟代码-脚本之家</title> <style> body{text-align: center;background-color: #0e141b;color: rgba(224, 230, 235, 0.89);font-family: 'Roboto Condensed', sans-serif;font-weight: 300;overflow: hidden;} .column,.colon{display: inline-block;vertical-align: top;font-size: 86px;line-height: 86px;} .column{-webkit-transition: -webkit-transform 300ms;transition: -webkit-transform 300ms;transition: transform 300ms;transition: transform 300ms, -webkit-transform 300ms;} .colon{-webkit-transition: -webkit-transform 300ms;transition: -webkit-transform 300ms;transition: transform 300ms;transition: transform 300ms, -webkit-transform 300ms;-webkit-transform: translateY(calc(50vh - 43px));transform: translateY(calc(50vh - 43px));} .colon:after{content: ':';} .num{-webkit-transition: opacity 500ms, text-shadow 100ms;transition: opacity 500ms, text-shadow 100ms;opacity: 0.025;} .num.visible{opacity: 1.0;text-shadow: 1px 1px 0px #336699;} .num.close{opacity: 0.35;} .num.far{opacity: 0.15;} .num.distant{opacity: 0.1;} </style> </head> <body> <p class="column"> <p class="num">0</p> <p class="num">1</p> <p class="num">2</p> </p> <p class="column"> <p class="num">0</p> <p class="num">1</p> <p class="num">2</p> <p class="num">3</p> <p class="num">4</p> <p class="num">5</p> <p class="num">6</p> <p class="num">7</p> <p class="num">8</p> <p class="num">9</p> </p> <p class="colon"></p> <p class="column"> <p class="num">0</p> <p class="num">1</p> <p class="num">2</p> <p class="num">3</p> <p class="num">4</p> <p class="num">5</p> </p> <p class="column"> <p class="num">0</p> <p class="num">1</p> <p class="num">2</p> <p class="num">3</p> <p class="num">4</p> <p class="num">5</p> <p class="num">6</p> <p class="num">7</p> <p class="num">8</p> <p class="num">9</p> </p> <p class="colon"></p> <p class="column"> <p class="num">0</p> <p class="num">1</p> <p class="num">2</p> <p class="num">3</p> <p class="num">4</p> <p class="num">5</p> </p> <p class="column"> <p class="num">0</p> <p class="num">1</p> <p class="num">2</p> <p class="num">3</p> <p class="num">4</p> <p class="num">5</p> <p class="num">6</p> <p class="num">7</p> <p class="num">8</p> <p class="num">9</p> </p> <script> 'use strict'; var size = 86; var columns = Array.from(document.getElementsByClassName('column')); var d = undefined, c = undefined; var classList = ['visible', 'close', 'far', 'far', 'distant', 'distant']; var use24HourClock = true; function padClock(p, n) { return p + ('0' + n).slice(-2); } function getClock() { d = new Date(); return [use24HourClock ? d.getHours() : d.getHours() % 12 || 12, d.getMinutes(), d.getSeconds()].reduce(padClock, ''); } function getClass(n, i2) { return classList.find(function (class_, classIndex) { return i2 - classIndex === n || i2 + classIndex === n; }) || ''; } var loop = setInterval(function () { c = getClock(); columns.forEach(function (ele, i) { var n = +c[i]; var offset = -n * size; ele.style.transform = 'translateY(calc(50vh + ' + offset + 'px - ' + size / 2 + 'px))'; Array.from(ele.children).forEach(function (ele2, i2) { ele2.className = 'num ' + getClass(n, i2); }); }); }, 200 + Math.E * 10); </script> </body> </html>
注意:其中最上面的是CSS样式内容,大家可以在其中进行调整颜色字体等
<style> body{text-align: center;background-color: #0e141b;color: rgba(224, 230, 235, 0.89);font-family: 'Roboto Condensed', sans-serif;font-weight: 300;overflow: hidden;} .column,.colon{display: inline-block;vertical-align: top;font-size: 86px;line-height: 86px;} .column{-webkit-transition: -webkit-transform 300ms;transition: -webkit-transform 300ms;transition: transform 300ms;transition: transform 300ms, -webkit-transform 300ms;} .colon{-webkit-transition: -webkit-transform 300ms;transition: -webkit-transform 300ms;transition: transform 300ms;transition: transform 300ms, -webkit-transform 300ms;-webkit-transform: translateY(calc(50vh - 43px));transform: translateY(calc(50vh - 43px));} .colon:after{content: ':';} .num{-webkit-transition: opacity 500ms, text-shadow 100ms;transition: opacity 500ms, text-shadow 100ms;opacity: 0.025;} .num.visible{opacity: 1.0;text-shadow: 1px 1px 0px #336699;} .num.close{opacity: 0.35;} .num.far{opacity: 0.15;} .num.distant{opacity: 0.1;} </style>
JS代码主要就是控制动画的滚动效果,CSS用来控制数字的大小等内容。
相关推荐:
用canvas做出时钟实现步骤
JavaScript实现“创意时钟”项目
制作一个简易的时钟效果
以上就是实例讲解JS+CSS实现滚动数字时钟效果的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的实例讲解JS+CSS实现滚动数字时钟效果全部内容,希望文章能够帮你解决实例讲解JS+CSS实现滚动数字时钟效果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。