In diesem Artikel verwenden wir hauptsächlich JS- und CSS-Stylesheets, um den Animationseffekt einer rollenden Uhr zu erzielen. Dieser Effekt wird im Allgemeinen bei der Eröffnungsanimation von Webseiten und der Zeitanzeige von Regionen verwendet Der Animationseffekt ist auch sehr personalisiert. Schauen wir uns den Effekt nach dem Ausführen an:
Das Folgende ist der gesamte Code dieser Rolling-Clock-Animation:
<!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>
Hinweis: Der oberste Bereich ist der CSS-Stilinhalt, in dem Sie die Farbe, Schriftart usw. anpassen können.
<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>
Der JS-Code dient hauptsächlich der Steuerung des Scrolleffekts der Animation. CSS wird zur Steuerung der Größe von Zahlen usw. verwendet.
Verwandte Empfehlungen:
Verwenden Sie Canvas, um Schritte zur Uhrimplementierung durchzuführen
JavaScript, um das Projekt „Creative Clock“ zu implementieren
Erstellen Sie einen einfachen Uhreffekt
Das obige ist der detaillierte Inhalt vonBeispiele zur Erläuterung von JS+CSS zur Erzielung eines Rolling-Digital-Clock-Effekts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!