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 相关文章推荐
在页面上点击任一链接时触发一个事件的代码
Apr 07 Javascript
用JavaScript仿PS里的羽化效果代码
Dec 20 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
Mar 26 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
Jul 21 Javascript
JavaScript常用脚本汇总(二)
Mar 04 Javascript
JavaScript获取网页中第一个图片id的方法
Apr 03 Javascript
JQuery+CSS实现图片上放置按钮的方法
May 29 Javascript
AngularJS中$http使用的简单介绍
Mar 17 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
Mar 30 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
Oct 24 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
May 09 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
Aug 06 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
Session的工作方式
2006/10/09 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
PHP数组去重的更快实现方式分析
2018/05/09 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
javascript类型转换示例
2014/04/29 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
详解Bootstrap 学习(一)入门
2019/04/12 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
python保存网页图片到本地的方法
2018/07/24 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
写一个用矩形法求定积分的通用函数
2012/11/08 面试题
东方红海科技面试题软件测试方面
2012/02/08 面试题
英文自荐信
2013/12/15 职场文书
公司证明怎么写
2014/09/22 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
2015年党性分析材料
2014/12/19 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
舞出我人生观后感
2015/06/16 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android