原生JS实现非常好看的计数器
作者:aiguangyuan 发布时间:2024-04-19 09:59:20
标签:js,计数器
今天给大家分享一个用原生JS实现的好看计数器,效果如下:
以下是代码实现,欢迎大家复制粘贴和收藏。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>原生JS实现一个好看计数器</title>
<style>
* {
font-family: '微软雅黑', 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>
来源:https://blog.csdn.net/weixin_40629244/article/details/106724984


猜你喜欢
- Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使
- 1.认为FindControl方法寻找的范围是给定Control的后代控件。 <form id="form1" r
- 有产品表,包含id,name,city,addtime四个字段,因报表需要按城市分组,统计每个城市的最新10个产品,便向该表中插入了100万
- 设置项目气动执行次方法(每天检查一次表记录)public class DayInterval implements ServletConte
- 一、禁止计算局部梯度torch.autogard.no_grad: 禁用梯度计算的上下文管理器。当确定不会调用Tensor.backward
- 发现问题比解决问题重要,使用php集成开发环境Appserv网页会提示各种语法错误,但自己配置开发环境无法提示错误,特别当不是语法错误,比如
- 1. 什么是同源策略 理解跨域首先必须要了解同源策略。同源策略是浏览器上为安全性考虑实施的非
- 在Vue中解决跨域问题有多种方法。以下是几种常见的方法:1. 代理服务器:在开发环境中,可以配置一个代理服务器来转发 API 请求,绕过浏览
- insert into values插入多条数据insert into 表名(字段名1,字段名2)values(值a1,值b1), (值a2
- 本文实例讲述了php设计模式之正面模式。分享给大家供大家参考,具体如下:星际里面的战斗都是在地图上进行的,只要我们可以编辑地图,就可以创造一
- 构造查询条件worm是一款方便易用的Go语言ORM库。worm支Model方式(持结构体字段映射)、原生SQL以及SQLBuilder三种模
- COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达
- 作者:Jahongir Rahmonov机器之心编译参与:魔王PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产
- cursor就是一个Cursor对象,这个cursor是一个实现了迭代器(def__iter__())和生成器(yield)的MySQLdb
- def Num2MoneyFormat( change_number ): ""&q
- 阅读上一篇:微软建议的ASP性能优化28条守则(2) 技巧 5:不要将数据库连接缓存在 Application 或 Session 对象中
- 多线程概述多线程使得程序内部可以分出多个线程来做多件事情,充分利用CPU空闲时间,提升处理效率。python提供了两个模块来实现多线程thr
- Python自动化办公之删除重复的视频文件获取所有文件路径import osimport filecmpfile_list=[]new_li
- 在了解了XHTML 2的进展之后,我们再来看看X/HTML 5 的进展。X/HTML 5酷在什么地方章节元素的构想X/HTML 5引入新的元
- 1.初探刚开始接触go时,以为import自定义包与Java工程类似,在非GOPATH的路径中新建了一个go项目HelloGo,如下:接下来