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 相关文章推荐
js跑马灯代码(自写)
Apr 17 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
May 25 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
May 26 Javascript
相册展示PhotoSwipe.js插件实现
Aug 25 Javascript
jQuery层级选择器实例代码
Feb 06 Javascript
jQuery自定义元素右键点击事件(实现案例)
Apr 28 jQuery
微信小程序之获取当前位置经纬度以及地图显示详解
May 09 Javascript
vue实现组件之间传值功能示例
Jul 13 Javascript
js canvas实现红包照片效果
Aug 21 Javascript
angularjs使用div模拟textarea文本框的方法
Oct 02 Javascript
详解Angular模板引用变量及其作用域
Nov 23 Javascript
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 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读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
基于jquery实现图片放大功能
2016/05/07 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
原生js封装运动框架的示例讲解
2017/10/01 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
vue+node实现图片上传及预览的示例方法
2018/11/22 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python字符串中的单双引
2017/02/16 Python
python负载均衡的简单实现方法
2018/02/04 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
python如何删除文件中重复的字段
2019/07/16 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
python实现拼图小游戏
2020/02/22 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
学生会主席事迹材料
2014/01/28 职场文书
《自然之道》教学反思
2014/02/11 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript