JS+CSS3实现的简易钟表效果示例


Posted in Javascript onApril 13, 2019

本文实例讲述了JS+CSS3实现的简易钟表效果。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>3water.com js+css3简易钟表</title>
    <style type="text/css">
      *{
        margin: 0;
        padding: 0;
      }
      #wrap{
        width: 300px;
        height: 300px;
        background-color: aliceblue;
        margin: 200px auto;
        position: relative;
        box-sizing: border-box;
      }
      #wrap > div{
        position: absolute;
        top: 50%;
        left: 50%;
      }
      #hour{
        width: 6px;
        height: 60px;
        background-color: #000000;
        margin: -60px -3px;
        transform-origin: 3px 60px;
      }
      #min{
        width: 4px;
        height: 80px;
        background-color: #000000;
        margin: -80px -2px;
        transform-origin: 2px 80px;
      }
      #sec{
        width: 2px;
        height: 100px;
        background-color: red;
        margin: -100px -1px;
        transform-origin: 1px 100px;
      }
      #point{
        width: 20px;
        height: 20px;
        background-color: burlywood;
        margin: -10px -10px;
        border-radius: 50%;
      }
      #circle{
        width: 300px;
        height: 300px;
        position: relative;
      }
      #circle li{
        list-style: none;
        width: 2px;
        height: 6px;
        background-color: #000000;
        position: absolute;
        transform-origin: 1px 150px;
        left: 149px;
        top: 0px;
      }
    </style>
  </head>
  <body>
    <div id="wrap">
      <div id="hour"></div>
      <div id="min"></div>
      <div id="sec"></div>
      <div id="point"></div>
      <ul id="circle"></ul>
    </div>
  </body>
  <script type="text/javascript">
    var hourDom=document.getElementById('hour');
    var minDom=document.getElementById('min');
    var secDom=document.getElementById('sec');
    var cricle=document.getElementById('circle');
    //创建表盘,ul宽高为wrap宽高,以wrap中心点为变换基点,动态分配6°的li
    for (var i=0;i<60;i++) {
      var li=document.createElement('li');
      cricle.appendChild(li);
      li.style.transform='rotate('+i*6+'deg)';
    }
    //延时函数,确保每一秒更新一次最新时间。并且计算时间准确值。
    setInterval(function(){
    var date=new Date();
    var hour=date.getHours();
    var min=date.getMinutes();
    var sec=date.getSeconds();
    min+=sec/60;
    hour+=min/60;
    //当前时间*每个单位时间走的角度=指针指向
    hourDom.style.transform='rotate('+hour*30+'deg)';
    minDom.style.transform='rotate('+min*6+'deg)';
    secDom.style.transform='rotate('+sec*6+'deg)';
    },1000)
  </script>
</html>

运行效果:

JS+CSS3实现的简易钟表效果示例

感兴趣的朋友可使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试一下运行效果。

Javascript 相关文章推荐
javascript引用对象的方法代码
Aug 13 Javascript
jquery实现动态菜单的实例代码
Nov 28 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
Sep 14 Javascript
JavaScript中创建对象的模式汇总
Apr 19 Javascript
基于JavaScript实现轮播图代码
Jul 14 Javascript
基于Marquee.js插件实现的跑马灯效果示例
Jan 25 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
原生javascript如何实现共享onload事件
Jul 03 Javascript
JS实现倒序输出的几种常用方法示例
Apr 13 #Javascript
JS实现马赛克图片效果完整示例
Apr 13 #Javascript
ES6入门教程之let、const的使用方法
Apr 13 #Javascript
ES6入门教程之变量的解构赋值详解
Apr 13 #Javascript
微信小程序template模版的使用方法
Apr 13 #Javascript
vue基于viewer实现的图片查看器功能
Apr 12 #Javascript
js form表单input框限制20个字符,10个汉字代码实例
Apr 12 #Javascript
You might like
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
JS验证码实现代码
2017/09/14 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
Django的分页器实例(paginator)
2017/12/01 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
怎样写好自荐信和推荐信
2013/12/26 职场文书
教师个人的自我评价分享
2014/01/02 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
公司介绍信范文
2015/01/31 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
python游戏开发Pygame框架
2022/04/22 Python