纯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 相关文章推荐
[原创]站长必须要知道的javascript广告代码
May 30 Javascript
一起来写段JS drag拖动代码
Dec 09 Javascript
jQuery数据显示插件整合实现代码
Oct 24 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
Oct 22 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
May 29 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
jQuery实现多级联动下拉列表查询框
Jan 18 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 Javascript
C#微信小程序服务端获取用户解密信息实例代码
Mar 10 Javascript
详解vue 模版组件的三种用法
Jul 21 Javascript
jquery easyui如何实现格式化列
Jul 30 jQuery
浅谈Angular HttpClient简单入门
May 04 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
用mysql内存表来代替php session的类
2009/02/01 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧
2010/11/25 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
python求众数问题实例
2014/09/26 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
python定义类的简单用法
2020/07/24 Python
Python如何在bool函数中取值
2020/09/21 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
上班睡觉检讨书
2014/01/09 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
学雷锋演讲稿
2014/03/04 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
酒店开业主持词
2015/07/02 职场文书
团委副书记工作总结
2015/08/14 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python