纯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 相关文章推荐
jquery的选择器的使用技巧之如何选择input框
Sep 22 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
jquery 隐藏与显示tr标签示例代码
Jun 06 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
Feb 13 Javascript
javascript解三阶幻方(九宫格)
Apr 22 Javascript
jQuery与getJson结合的用法实例
Aug 07 Javascript
js实现图片无缝滚动
Dec 23 Javascript
使用jQuery判断浏览器滚动条位置的方法
May 30 Javascript
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
微信小程序全选多选效果实现代码解析
Jan 21 Javascript
webpack中的模式(mode)使用详解
Feb 20 Javascript
js实现滚动条自动滚动
Dec 13 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
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
Yii2中datetime类的使用
2016/12/17 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
2010/03/23 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
js实现日历的简单算法
2017/01/24 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
Js跳出两级循环方法代码实例
2020/09/22 Javascript
python迭代器实例简析
2014/09/25 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
Python中GIL的使用详解
2018/10/03 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
历史系自荐信范文
2013/12/24 职场文书
2014组织生活会方案
2014/05/19 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
社会实践的活动方案
2014/08/22 职场文书
单位员工收入证明样本
2014/10/09 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
捐书活动倡议书
2015/04/27 职场文书
唐山大地震观后感
2015/06/05 职场文书
分享提高 Python 代码的可读性的技巧
2022/03/03 Python