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 相关文章推荐
js实现ASP分页函数 HTML分页函数
Sep 22 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
Dec 26 Javascript
关于可运行代码无法正常执行的使用说明
May 13 Javascript
jQuery的DOM操作之删除节点示例
Jan 03 Javascript
jQuery+jRange实现滑动选取数值范围特效
Mar 14 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
Dec 08 Javascript
Vue中的scoped实现原理及穿透方法
May 15 Javascript
vue项目打包后打开页面空白解决办法
Jun 29 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 Javascript
原生js实现随机点名功能
Nov 05 Javascript
vue中v-model对select的绑定操作
Aug 31 Javascript
JavaScript利用html5新方法操作元素类名详解
Nov 27 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
详解php中 === 的使用
2016/10/24 PHP
jquery 最简单的属性菜单
2009/10/08 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
Python中replace方法实例分析
2014/08/20 Python
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
银河香水:Galaxy Perfume
2019/03/25 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
四风查摆问题自查报告
2014/10/10 职场文书
小学教师年度个人总结
2015/02/05 职场文书
高中教师个人总结
2015/02/10 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
Java线程的6种状态与生命周期
2022/05/11 Java/Android