JS+CSS实现动态时钟


Posted in Javascript onFebruary 19, 2021

本文实例为大家分享了JS+CSS实现动态时钟的具体代码,供大家参考,具体内容如下

JS+CSS实现动态时钟

知识点总结:

document.querySelector()方法返回文档中匹配指定 CSS 选择器的一个元素。

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

HTML+js部分

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <link rel="stylesheet" href="shiying.css" >
 <title>Document</title>
</head>

<body>
 <div class="clock">
 <div class="hour">
 <div class="hr" id="hr"></div>
 </div>
 <div class="min">
 <div class="mn" id="mn"></div>
 </div>
 <div class="sec">
 <div class="sc" id="sc"></div>
 </div>
 </div>
 <script type="text/javascript">
 const deg = 6;
 const hr = document.querySelector('#hr');
 const mn = document.querySelector('#mn');
 const sc = document.querySelector('#sc');

 setInterval(() => {

 let day = new Date();
 let hh = day.getHours() * 30;
 let mm = day.getMinutes() * deg;
 let ss = day.getSeconds() * deg;

 hr.style.transform = `rotateZ(${(hh) + (mm / 12)}deg)`;
 mn.style.transform = `rotateZ(${mm}deg)`;
 sc.style.transform = `rotateZ(${ss}deg)`;
 })

 </script>
</body>

</html>

CSS部分

*{
 margin:0;
 padding:0;
 box-sizing: border-box;
}
body{
 display: flex;
 justify-content: center;
 align-items: center;
 min-height: 100vh;
 background: #091921;
}
.clock{
 width: 350px;
 height: 350px;
 display:flex;
 justify-content: center;
 align-items: center;
 background: url(1613462007944.png);
 background-size: cover;
 border:4px solid #091921;
 border-radius: 50%;
 box-shadow: 0 -15px 15px rgba(255,255,255,0.05),
 inset 0 -15px 15px rgba(255,255,255, 0.05),
 0 -15px 15px rgba(0,0,0,0.05),
 inset 0 -15px 15px rgba(0,0,0, 0.05);
}
.clock:before
{
 content:"";
 position: absolute;
 width: 15px;
 height: 15px;
 background: #fff;
 border-radius: 50%;
 z-index:10000;

}
.clock .hour,
.clock .min,
.clock .sec
{
 position: absolute;

}
.clock .hour, .hr{
 width: 160px;
 height: 160px;
}
.clock .min, .mn{
 width: 190px;
 height: 190px;
}
.clock .sec, .sc{
 width: 230px;
 height: 230px;
}
.hr, .mn, .sc{
 display: flex;
 justify-content: center;
 position: absolute;
 border-radius: 50%;
}
.hr:before{
 content:"";
 position: absolute;
 width: 8px;
 height: 80px;
 background: #ff105e;
 z-index: 10;
 border-radius: 6px 6px 0 0;
}
.mn:before{
 content:"";
 position: absolute;
 width: 4px;
 height: 90px;
 background: #fff;
 z-index: 11;
 border-radius: 6px 6px 0 0;
}
.sc:before{
 content:"";
 position: absolute;
 width: 4px;
 height: 150px;
 background: #fff;
 z-index:12;
 border-radius: 6px 6px 0 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 节点排序 2
Jan 31 Javascript
jQuery中addClass()方法用法实例
Jan 05 Javascript
JS表格组件神器bootstrap table详解(强化版)
May 26 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
Jul 01 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
Jan 12 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
Aug 08 Javascript
深入理解Angular4订阅(Subscribe)与取消
Nov 22 Javascript
js解决软键盘遮挡输入框的问题分享
Dec 19 Javascript
微信小程序实现无限滚动列表
May 29 Javascript
JS跨浏览器解析XML应用过程详解
Oct 16 Javascript
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
js动态添加带圆圈序号列表的实例代码
Feb 18 #Javascript
原生微信小程序开发中 redux 的使用详解
Feb 18 #Javascript
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 #Vue.js
Vue包大小优化的实现(从1.72M到94K)
Feb 18 #Vue.js
Vue如何实现变量表达式选择器
Feb 18 #Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 #Vue.js
JavaScript实现手风琴效果
Feb 18 #Javascript
You might like
PHP个人网站架设连环讲(四)
2006/10/09 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
2015/01/19 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
微信小程序如何获取用户头像和昵称
2019/09/23 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
信号生成及DFT的python实现方式
2020/02/25 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
Python如何测试stdout输出
2020/08/10 Python
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
献爱心倡议书
2014/04/14 职场文书
商家认证委托书格式
2014/10/16 职场文书
环卫处个人工作总结
2015/03/04 职场文书
大学生实习推荐信
2015/03/27 职场文书
《叶问2》观后感
2015/06/15 职场文书
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP