纯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 删除字符串空格多种方法小结
Oct 24 Javascript
纯js网页画板(Graphics)类简介及实现代码
Dec 24 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
Sep 09 Javascript
深入探讨javascript中的数据类型
Mar 04 Javascript
使用AngularJS创建自定义的过滤器的方法
Jun 18 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
js中获取 table节点各tr及td的内容简单实例
Oct 14 Javascript
BootStrap Table 获取同行不同列元素的方法
Dec 19 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
Vue多种方法实现表头和首列固定的示例代码
Feb 02 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
Jun 19 Javascript
小程序实现横向滑动日历效果
Oct 21 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
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
深入解析php中的foreach问题
2013/06/30 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
php通过各种函数判断0和空
2020/07/04 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
vuex存储token示例
2019/11/11 Javascript
python装饰器实例大详解
2017/10/25 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
Django 请求Request的具体使用方法
2019/11/11 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
python 还原梯度下降算法实现一维线性回归
2020/10/22 Python
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
写给女朋友的道歉信
2014/01/12 职场文书
铲车司机岗位职责
2014/03/15 职场文书
情人节寄语大全
2014/04/11 职场文书
高中学生期末评语
2014/04/25 职场文书
运动会100米广播稿
2015/08/19 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python