博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS实现时钟效果
阅读量:5931 次
发布时间:2019-06-19

本文共 1813 字,大约阅读时间需要 6 分钟。

闲来无事,用JS写了个时钟,只要思路理清了,做起来其实还挺简单的。

先发个效果链接

Demo

图片描述

代码实现

HTML

9
10
11
12
1
2
3
4
5
6
7
8

CSS

*{    padding:0;    margin:0;}html, body {    height: 100%;    background: #9c9;}#warp{    width:230px;    height:230px;    margin:50px auto;}#clock{    width:200px;    height:200px;    border-radius:115px;    border:15px solid #f96;    background:white;    position:relative;}#number div{    width:190px;    height:20px;    position:absolute;    left:10px;    top:90px;}#number span{    display:block;    width:20px;    height:20px;}.pointer{    position:absolute;    bottom:90px;    transform-origin:50% 90%;    -webkit-transform-origin:50% 90%;}#houre{    width:5px;    height:60px;    left:98px;    background:black;}#minute{    width:3px;    height:70px;    left:99px;    background:gray;}#second{    width:1px;    height:80px;    left:100px;    background:red;}

这里要注意的是number里面div的宽度给够,要不然后面用JS布局会出现问题。

JavaScript

var oNumber=document.getElementById("number");var oDiv=oNumber.getElementsByTagName("div");var oSpan=oNumber.getElementsByTagName("span");for(var i=0;i

这里主要代码就两段,一段是布局用的,让数字旋转到相应的位置并调整方向:

for(var i=0;i

另一段是计算指针的角度,其中最重要的是在不满一小时或不满一分钟时,时针或分针应该转多少度:

var houreDeg=(nowMinute/60)*30;var minuteDeg=(nowSecond/60)*6;

It's done.是不是很简单......

转载地址:http://mtutx.baihongyu.com/

你可能感兴趣的文章
SqlServer2012自增主键跳跃增长的问题解决方案
查看>>
你真的了解UIEvent、UITouch吗?
查看>>
webpack vue2.0项目脚手架生成的webpack文件
查看>>
2014面试总结--java、数据 方向
查看>>
Linux 网卡驱动学习(一)(分析一个虚拟硬件的网络驱动样例)
查看>>
Linux下的SVN服务器搭建
查看>>
我在农业2.0的互联网创业思考 (1)
查看>>
如何在Linux中查看所有正在运行的进程
查看>>
Docker: 限制容器可用的内存
查看>>
Git 的4个阶段的撤销更改
查看>>
Downloading jQuery 3.2.1
查看>>
selenium+python自动化87-Chrome浏览器静默模式启动(headless)
查看>>
在IIS7、IIS7.5中应用程序池最优配置方案
查看>>
mybatis 整合spring之mapperLocations配置的问题
查看>>
Python time 的应用
查看>>
hadoop21---使用代理修改List,代理流程
查看>>
mysql for update语句
查看>>
历史时间轴
查看>>
android自定义View绘制天气温度曲线
查看>>
legend---七、jquery如何选中select的selected的选择上的自定义属性
查看>>