当前位置:Gxlcms > JavaScript > HTML+JS实现滚动数字的时钟

HTML+JS实现滚动数字的时钟

时间:2021-07-01 10:21:17 帮助过:4人阅读

这次给大家带来HTML+JS实现滚动数字的时钟,HTML+JS实现滚动数字时钟的注意事项有哪些,下面就是实战案例,一起来看一下。

下面就是这个滚动时钟动画的全部代码:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>CSS3+JS滚动数字时钟代码-脚本之家</title>
  6. <style>
  7. 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;}
  8. .column,.colon{display: inline-block;vertical-align: top;font-size: 86px;line-height: 86px;}
  9. .column{-webkit-transition: -webkit-transform 300ms;transition: -webkit-transform 300ms;transition: transform 300ms;transition: transform 300ms, -webkit-transform 300ms;}
  10. .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));}
  11. .colon:after{content: ':';}
  12. .num{-webkit-transition: opacity 500ms, text-shadow 100ms;transition: opacity 500ms, text-shadow 100ms;opacity: 0.025;}
  13. .num.visible{opacity: 1.0;text-shadow: 1px 1px 0px #336699;}
  14. .num.close{opacity: 0.35;}
  15. .num.far{opacity: 0.15;}
  16. .num.distant{opacity: 0.1;}
  17. </style>
  18. </head>
  19. <body>
  20. <p class="column">
  21. <p class="num">0</p>
  22. <p class="num">1</p>
  23. <p class="num">2</p>
  24. </p>
  25. <p class="column">
  26. <p class="num">0</p>
  27. <p class="num">1</p>
  28. <p class="num">2</p>
  29. <p class="num">3</p>
  30. <p class="num">4</p>
  31. <p class="num">5</p>
  32. <p class="num">6</p>
  33. <p class="num">7</p>
  34. <p class="num">8</p>
  35. <p class="num">9</p>
  36. </p>
  37. <p class="colon"></p>
  38. <p class="column">
  39. <p class="num">0</p>
  40. <p class="num">1</p>
  41. <p class="num">2</p>
  42. <p class="num">3</p>
  43. <p class="num">4</p>
  44. <p class="num">5</p>
  45. </p>
  46. <p class="column">
  47. <p class="num">0</p>
  48. <p class="num">1</p>
  49. <p class="num">2</p>
  50. <p class="num">3</p>
  51. <p class="num">4</p>
  52. <p class="num">5</p>
  53. <p class="num">6</p>
  54. <p class="num">7</p>
  55. <p class="num">8</p>
  56. <p class="num">9</p>
  57. </p>
  58. <p class="colon"></p>
  59. <p class="column">
  60. <p class="num">0</p>
  61. <p class="num">1</p>
  62. <p class="num">2</p>
  63. <p class="num">3</p>
  64. <p class="num">4</p>
  65. <p class="num">5</p>
  66. </p>
  67. <p class="column">
  68. <p class="num">0</p>
  69. <p class="num">1</p>
  70. <p class="num">2</p>
  71. <p class="num">3</p>
  72. <p class="num">4</p>
  73. <p class="num">5</p>
  74. <p class="num">6</p>
  75. <p class="num">7</p>
  76. <p class="num">8</p>
  77. <p class="num">9</p>
  78. </p>
  79. <script>
  80. 'use strict';
  81. var size = 86;
  82. var columns = Array.from(document.getElementsByClassName('column'));
  83. var d = undefined,
  84. c = undefined;
  85. var classList = ['visible', 'close', 'far', 'far', 'distant', 'distant'];
  86. var use24HourClock = true;
  87. function padClock(p, n) {
  88. return p + ('0' + n).slice(-2);
  89. }
  90. function getClock() {
  91. d = new Date();
  92. return [use24HourClock ? d.getHours() : d.getHours() % 12 || 12, d.getMinutes(), d.getSeconds()].reduce(padClock, '');
  93. }
  94. function getClass(n, i2) {
  95. return classList.find(function (class_, classIndex) {
  96. return i2 - classIndex === n || i2 + classIndex === n;
  97. }) || '';
  98. }
  99. var loop = setInterval(function () {
  100. c = getClock();
  101. columns.forEach(function (ele, i) {
  102. var n = +c[i];
  103. var offset = -n * size;
  104. ele.style.transform = 'translateY(calc(50vh + ' + offset + 'px - ' + size / 2 + 'px))';
  105. Array.from(ele.children).forEach(function (ele2, i2) {
  106. ele2.className = 'num ' + getClass(n, i2);
  107. });
  108. });
  109. }, 200 + Math.E * 10);
  110. </script>
  111. </body>
  112. </html>

注意:其中最上面的是CSS样式内容,大家可以在其中进行调整颜色字体等

  1. <style>
  2. 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;}
  3. .column,.colon{display: inline-block;vertical-align: top;font-size: 86px;line-height: 86px;}
  4. .column{-webkit-transition: -webkit-transform 300ms;transition: -webkit-transform 300ms;transition: transform 300ms;transition: transform 300ms, -webkit-transform 300ms;}
  5. .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));}
  6. .colon:after{content: ':';}
  7. .num{-webkit-transition: opacity 500ms, text-shadow 100ms;transition: opacity 500ms, text-shadow 100ms;opacity: 0.025;}
  8. .num.visible{opacity: 1.0;text-shadow: 1px 1px 0px #336699;}
  9. .num.close{opacity: 0.35;}
  10. .num.far{opacity: 0.15;}
  11. .num.distant{opacity: 0.1;}
  12. </style>

JS代码主要就是控制动画的滚动效果,CSS用来控制数字的大小等内容。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

在JS中怎么让图片居中悬浮

JS实现标签滚动切换

JS实现鼠标跟随特效

以上就是HTML+JS实现滚动数字的时钟的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行