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 圆角div的实现代码
Oct 15 Javascript
jquery的键盘事件修改代码
Feb 24 Javascript
textarea中的手动换行处理的jquery代码
Feb 26 Javascript
js弹出确认是否删除对话框
Mar 27 Javascript
JavaScript开发者必备的10个Sublime Text插件
Feb 27 Javascript
基于js中的原型、继承的一些想法
Aug 10 Javascript
Angular2  NgModule 模块详解
Oct 19 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
Oct 29 Javascript
js 打开新页面在屏幕中间的实现方法
Nov 02 Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
Jun 21 Javascript
layui递归实现动态左侧菜单
Jul 26 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
PHP 全角转半角实现代码
2010/05/16 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
兼容ie和firefox js关闭代码
2008/12/11 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
Python中return语句用法实例分析
2015/08/04 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
python3正则模块re的使用方法详解
2020/02/11 Python
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
手机促销活动方案
2014/02/05 职场文书
法人授权委托书格式
2014/04/08 职场文书
2015教师个人工作总结范文
2015/03/31 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
初婚未育证明样本
2015/06/18 职场文书
商场广播稿范文
2015/08/19 职场文书
护理培训心得体会
2016/01/22 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书