纯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 图片等比例缩放代码
May 13 Javascript
js 自定义个性下拉选择框示例
Aug 20 Javascript
js文本框输入点回车触发确定兼容IE、FF等
Nov 19 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 Javascript
用JS写的一个Ajax库(实例代码)
Aug 06 Javascript
微信小程序入门教程
Nov 18 Javascript
JS仿JQuery选择器功能
Mar 08 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
Mar 23 jQuery
js图片放大镜效果实现方法详解
Oct 28 Javascript
聊聊Vue.js的template编译的问题
Oct 09 Javascript
Vue filter介绍及详细使用
Apr 04 Javascript
js实现购物车功能
Jun 12 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下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
PHP curl使用实例
2015/07/02 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
javascript RadioButtonList获取选中值
2009/04/09 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
python复制与引用用法分析
2015/04/08 Python
Python实现新浪博客备份的方法
2016/04/27 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
python 2.7.14安装图文教程
2018/04/08 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Django+Xadmin构建项目的方法步骤
2019/03/06 Python
Pycharm小白级简单使用教程
2020/01/08 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
教学器材管理制度
2014/01/26 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
珠宝店促销方案
2014/03/21 职场文书
老公爱的承诺书
2014/03/31 职场文书
党员示范岗材料
2014/12/19 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis