时间:2021-05-26
本篇内容我们用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><div class="column"> <div class="num">0</div> <div class="num">1</div> <div class="num">2</div></div><div class="column"> <div class="num">0</div> <div class="num">1</div> <div class="num">2</div> <div class="num">3</div> <div class="num">4</div> <div class="num">5</div> <div class="num">6</div> <div class="num">7</div> <div class="num">8</div> <div class="num">9</div></div><div class="colon"></div><div class="column"> <div class="num">0</div> <div class="num">1</div> <div class="num">2</div> <div class="num">3</div> <div class="num">4</div> <div class="num">5</div></div><div class="column"> <div class="num">0</div> <div class="num">1</div> <div class="num">2</div> <div class="num">3</div> <div class="num">4</div> <div class="num">5</div> <div class="num">6</div> <div class="num">7</div> <div class="num">8</div> <div class="num">9</div></div><div class="colon"></div><div class="column"> <div class="num">0</div> <div class="num">1</div> <div class="num">2</div> <div class="num">3</div> <div class="num">4</div> <div class="num">5</div></div><div class="column"> <div class="num">0</div> <div class="num">1</div> <div class="num">2</div> <div class="num">3</div> <div class="num">4</div> <div class="num">5</div> <div class="num">6</div> <div class="num">7</div> <div class="num">8</div> <div class="num">9</div></div><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用来控制数字的大小等内容。
本篇内容是的原创,转载请留网址,感谢你对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了js+CSS实现模拟select控件的下拉菜单效果。分享给大家供大家参考。具体如下:这是一个JS+CSS技术实现的Select控件效果,模拟出来的
js+css实现遮罩居中弹出层(随浏览器窗口滚动条滚动)复制代码代码如下:*{}{margin:0;padding:0;}html{}{_background:
本文实例讲述了JS+CSS实现自动改变切换方向图片幻灯切换效果的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:JS+CSS自动改变切换方向的图
本文实例讲述了JS+CSS实现淡入式焦点图片幻灯切换效果的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:一款JS+CSS淡入式焦点图片幻灯切换
本文实例讲述了JS+CSS实现美化的下拉列表框效果。分享给大家供大家参考。具体如下:一款经过JS+CSS美化的下拉列表,效果很不错,但代码有点偏多,学习CSS的