这次给大家带来html+js实现滚动数字的时钟,html+js实现滚动数字时钟的注意事项有哪些,下面就是实战案例,一起来看一下。
下面就是这个滚动时钟动画的全部代码:
<!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用来控制数字的大小等内容。
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
在js中怎么让图片居中悬浮
js实现标签滚动切换
js实现鼠标跟随特效
以上就是html+js实现滚动数字的时钟的详细内容。