纯js+css实现在线时钟


Posted in Javascript onAugust 18, 2020

本文实例为大家分享了js+css实现在线时钟的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>时钟</title>
 <style type="text/css">
 *{
 padding: 0;
 margin: 0;
 }
 .wrap{
 position: absolute;
 width: 200px;
 height: 200px;
 border: 2px solid;
 background-color: pink;
 border-radius: 50%;
 left: 50%;
 top: 50%;
 transform: translate(-50%,-50%);
 }
 .wrap>ul{
 list-style: none;
 }
 .wrap>ul>li{
 position: absolute;
 left: 99px;
 top: 0;
 width: 2px;
 height: 10px;
 background-color: black;
 transform-origin: center 100px;
 }
 .wrap>ul>li:nth-child(5n+1){
 height: 15px;
 }
 .wrap > .hour{
 position: absolute;
 left: 97px;
 top:70px ;
 width: 6px;
 height: 30px;
 background: black;
 transform-origin: center bottom;
 }
 .wrap > .min{
 position: absolute;
 left: 98px;
 top: 50px;
 width: 4px;
 height: 50px;
 background: gray;
 transform-origin: center bottom;
 }
 .wrap > .sec{
 position: absolute;
 left: 99px;
 top: 30px;
 width: 2px;
 height: 70px;
 background: red;
 transform-origin: center bottom;
 }
 .wrap > .center{
 position: absolute;
 left: 90px;
 top: 90px;
 width: 20px;
 height: 20px;
 border-radius:50% ;
 background: black;
 }
 </style>
 </head>
 <body>
 <div class="wrap">
 <ul></ul>
 <div class="hour"></div>
 <div class="min"></div>
 <div class="sec"></div>
 <div class="center"></div>
 </div>
 </body>
 <script type="text/javascript">
 window.onload =function(){
 var hourNode =document.querySelector(".wrap > .hour");
 var minNode =document.querySelector(".wrap > .min");
 var secNode =document.querySelector(".wrap > .sec");
 var ulNode =document.querySelector(".wrap>ul");
 var styleNode =document.createElement('style');
 var liHtml ='';
 var styleHtml ='';
 for(var i=0;i<60;i++){
 liHtml += "<li></li>";
 styleHtml+=".wrap>ul>li:nth-child("+(i+1)+"){transform: rotate("+(i*6)+"deg);}"
 }
 ulNode.innerHTML =liHtml;
 styleNode.innerHTML =styleHtml;
 document.querySelector('head').appendChild(styleNode);
 
 moveTime();
 setInterval(moveTime,1000);
 
 function moveTime(){
 var date =new Date();
 var sec =date.getSeconds();
 var min =date.getMinutes()+sec/60;
 var hour =date.getHours()+min/60;
 hourNode.style.transform ="rotate("+(hour*30)+"deg)";
 minNode.style.transform ="rotate("+(min*6)+"deg)";
 secNode.style.transform ="rotate("+(sec*6)+"deg)";
 }
 
 }
 </script>
</html>

纯js+css实现在线时钟

实现要点

1、transform-origin的基本点的应用
2、批量处理html和样式的信息
3、指证位置进行了优化(时针与小时和分针位置有关,分针与分和秒针位置有关)。

新增居中方式:

开启绝对定位 left:50%;top :50%;transform:translate(50%,50%);

更多JavaScript时钟特效点击查看:JavaScript时钟特效专题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS Excel读取和写入操作(模板操作)实现代码
Apr 11 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
Apr 07 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
JavaScript中this详解
Sep 01 Javascript
Bootstrap每天必学之导航组件
Apr 25 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
May 09 Javascript
Bootstrap开关(switch)控件学习笔记分享
May 30 Javascript
Vue.js每天必学之方法与事件处理器
Sep 06 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
Jul 13 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
Dec 04 Javascript
JavaScript实现简单的弹窗效果
May 19 Javascript
Vue文本模糊匹配功能如何实现
Jul 30 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 #Javascript
js+css实现扇形导航效果
Aug 18 #Javascript
js实现3D旋转效果
Aug 18 #Javascript
Vue elementui字体图标显示问题解决方案
Aug 18 #Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
Aug 18 #Javascript
javascript实现移动端上传图片功能
Aug 18 #Javascript
八种Vue组件间通讯方式合集(推荐)
Aug 18 #Javascript
You might like
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
ThinkPHP分页实例
2014/10/15 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
Linux php 中文乱码的快速解决方法
2016/05/13 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
一些javascript一些题目的解析
2010/12/25 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
Python批量合并有合并单元格的Excel文件详解
2018/04/05 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
python逆序打印各位数字的方法
2018/06/25 Python
Python实现时间序列可视化的方法
2019/08/06 Python
使用Python FastAPI构建Web服务的实现
2020/06/08 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
学生个人自我鉴定范文
2014/03/28 职场文书
白岩松演讲
2014/05/21 职场文书
村级个人对照检查材料
2014/08/22 职场文书
二人合伙经营协议书
2014/09/13 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
浅谈Python 中的复数问题
2021/05/19 Python
vscode中使用npm安装babel的方法
2021/08/02 Javascript
为Centos安装指定版本的Docker
2022/04/01 Servers