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实现无刷新更新数据的详细步骤 asp
Dec 26 Javascript
js 巧妙去除数组中的重复项
Jan 25 Javascript
基于jquery实现的表格分页实现代码
Jun 21 Javascript
jquery实现div拖拽宽度示例代码
Jul 31 Javascript
JS 获取select(多选下拉)中所选值的示例代码
Aug 02 Javascript
Js点击弹出下拉菜单效果实例
Aug 12 Javascript
Javascript基础教程之关键字和保留字汇总
Jan 18 Javascript
JS选项卡动态替换banner图片路径的方法
May 11 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 Javascript
js动态添加的DIV中的onclick事件简单实例
Jul 25 Javascript
纯js实现隔行变色效果
Nov 29 Javascript
vue 项目软键盘回车触发搜索事件
Sep 09 Javascript
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
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
摘自百度的图片轮换效果代码
2007/11/19 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
javascript history对象详解
2017/02/09 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python的装饰器用法学习笔记
2016/06/24 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
介绍一下Java的安全机制
2012/06/28 面试题
JAVA招聘远程笔试题
2015/07/23 面试题
中专生自我鉴定范文
2014/02/02 职场文书
《大江保卫战》教学反思
2014/04/11 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
2014年党总支工作总结
2014/12/18 职场文书
主持人大赛开场白
2015/05/29 职场文书
详解Python为什么不用设计模式
2021/06/24 Python
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android