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 相关文章推荐
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
js创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
jquery如何获取元素的滚动条高度等实现代码
Oct 19 Javascript
比较常见的javascript中定义函数的区别
Nov 09 Javascript
bootstrap输入框组代码分享
Jun 07 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
Jun 20 Javascript
基于vue.js路由参数的实例讲解——简单易懂
Sep 07 Javascript
node通过express搭建自己的服务器
Sep 30 Javascript
浅谈Webpack 是如何加载模块的
May 24 Javascript
javascript导出csv文件(excel)的方法示例
Aug 25 Javascript
Node.js操作MongoDB数据库实例分析
Jan 19 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
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模拟HTTP认证
2006/10/09 PHP
PHP制作图型计数器的例子
2006/10/09 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
jQuery find和children方法使用
2011/01/31 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
Python常用列表数据结构小结
2014/08/06 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
财务部岗位职责
2013/11/19 职场文书
酒店门卫岗位职责
2013/12/29 职场文书
助人为乐表扬信范文
2014/01/14 职场文书
我的教育故事演讲稿
2014/05/04 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
初一新生军训方案
2014/05/22 职场文书
火灾现场处置方案
2014/05/28 职场文书
合作协议书格式
2014/08/19 职场文书
企业法人代表证明书
2014/09/27 职场文书
大学教师个人总结
2015/02/10 职场文书
第一节英语课开场白
2015/06/01 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书