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 相关文章推荐
海量经典的jQuery插件集合
Jan 12 Javascript
ExtJs之带图片的下拉列表框插件
Mar 04 Javascript
可以用鼠标拖动的DIV实现思路及代码
Oct 21 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
jQuery实现简单的点赞效果
May 29 Javascript
ES6中数组array新增方法实例总结
Nov 07 Javascript
利用Javascript获取选择文本所在的句子详解
Dec 03 Javascript
Node.js 多线程完全指南总结
Mar 27 Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
Aug 29 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
Sep 14 Javascript
解决vue 表格table列求和的问题
Nov 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
PHP 文件上传进度条的两种实现方法的代码
2007/11/25 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
js form action动态修改方法
2008/11/04 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
jquery处理json对象
2014/11/03 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
angularjs基础教程
2014/12/25 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
javascript常用函数(2)
2015/11/05 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
几种tab切换详解
2017/02/03 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python基础教程之获取本机ip数据包示例
2014/02/10 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
英语生日邀请函
2014/01/23 职场文书
母亲节寄语大全
2015/02/27 职场文书
社区党务工作总结2015
2015/05/19 职场文书
中学语文教学反思
2016/02/16 职场文书
九年级历史教学反思
2016/02/19 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL