Today I will share with you a good-looking counter implemented with native JS. The effect is as follows: The following is the code implementation, you are welcome to copy, paste and collect it. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Native JS implements a good-looking counter</title> <style> * { font-family: 'Microsoft YaHei', sans-serif; box-sizing: border-box; margin: 0; padding: 0; } body { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: #000d0f; } .container { position: relative; width: 80px; height: 50px; border-radius: 40px; border: 2px solid rgba(255, 255, 255, 0.2); transition: 0.5s; } .container:hover { width: 120px; border: 2px solid rgba(255, 255, 255, 1); } .container .next { position: absolute; top: 50%; right: 30px; display: block; width: 12px; height: 12px; border-top: 2px solid #fff; border-left: 2px solid #fff; z-index: 1; transform: translateY(-50%)rotate(135deg); cursor: pointer; transition: 0.5s; opacity: 0; } .container:hover .next { opacity: 1; right: 20px; } .container .prev { position: absolute; top: 50%; left: 30px; display: block; width: 12px; height: 12px; border-top: 2px solid #fff; border-left: 2px solid #fff; z-index: 1; transform: translateY(-50%)rotate(315deg); cursor: pointer; transition: 0.5s; opacity: 0; } .container:hover .prev { opacity: 1; left: 20px; } #box span { position: absolute; display: none; width: 100%; height: 100%; text-align: center; line-height: 46px; color: #00deff; font-size: 24px; font-weight: 700; user-select: none; } #box span:nth-child(1) { display: initial; } </style> </head> <body> <div class="container"> <div class="next" onclick="nextNum()"></div> <div class="prev" onclick="prevNum()"></div> <div id="box"> <span>0</span> </div> </div> <script> var numbers = document.getElementById('box') for (let i = 0; i < 100; i++) { let span = document.createElement('span') span.textContent = i numbers.appendChild(span) } let num = numbers.getElementsByTagName('span') let index = 0 function nextNum() { num[index].style.display = 'none' index = (index + 1) % num.length num[index].style.display = 'initial' } function prevNum() { num[index].style.display = 'none' index = (index - 1 + num.length) % num.length num[index].style.display = 'initial' } </script> </body> </html> The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: Summary of commonly used SQL in MySQL operation tables
>>: Centos7.3 automatically starts or executes specified commands when booting
<br />I have always believed that Yahoo'...
Find information Some methods found on the Intern...
What is pip pip is a Python package management to...
Preface I wrote an article about rem adaptation b...
This article example shares the specific code of ...
There are four types of positioning in CSS, which...
1. What is the hyperlink icon specification ?<...
Table of contents K8S Master Basic Architecture P...
1. What is responsive design? Responsive design i...
question: <input type="hidden" name=...
1. This afternoon, due to the requirements of the...
This article shares with you the installation of ...
MySQL5.7.21 installation and password setting tut...
This article shares the specific code of JavaScri...
Preface Nginx (pronounced "engine X") i...