资讯专栏INFORMATION COLUMN

JS实现时钟效果

MorePainMoreGain / 1536人阅读

摘要:闲来无事,用写了个时钟,只要思路理清了,做起来其实还挺简单的。先发个效果链接点击查看代码实现这里要注意的是里面的宽度给够,要不然后面用布局会出现问题。

闲来无事,用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.是不是很简单......

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/86457.html

相关文章

  • JS实现时钟效果

    摘要:闲来无事,用写了个时钟,只要思路理清了,做起来其实还挺简单的。先发个效果链接点击查看代码实现这里要注意的是里面的宽度给够,要不然后面用布局会出现问题。 闲来无事,用JS写了个时钟,只要思路理清了,做起来其实还挺简单的。 先发个效果链接 点击查看 Demo showImg(https://segmentfault.com/img/bVzKLJ); 代码实现 HTML ...

    JasonZhang 评论0 收藏0
  • 使用Canvas绘制简单的时钟控件

    摘要:有了,我们就再也不需要了,直接使用完成绘制。绘制原点开始时钟开始时钟我们将当前时间绘制到始终上面即可需要注意的是,在绘制之前需要将之前绘制的东西清除掉。Canvas是HTML5新增的组件,它就像一块幕布,可以用JavaScript在上面绘制各种图表、动画等。 没有Canvas的年代,绘图只能借助Flash插件实现,页面不得不用JavaScript和Flash进行交互。有了Canvas,我们就...

    trilever 评论0 收藏0
  • 原生js练习题---第三课

    摘要:我这里更进一步修复了这个,想法很简单我可以等你输完再把非数字全替换掉,只要把方法的正则改成全局匹配就。页面加载后累加,自加实现效果页面加载后累加,自加第三题的变种,换成触发变化而已。 0x1用typeof查看数据类型 略过,不过typeof用来判断数据类型是不太靠谱的,尤其是涉及到引用类型的时候,除非是要检测一个变量是否有定义,否则最好采用Object.prototype.toStri...

    tomlingtm 评论0 收藏0
  • canvas动画时钟

    摘要:最近在学,然后根据上的例子做了个动画时钟为什么要造个轮子,因为丑。。首先,找一张时钟的图片,就是下面这张了。那么我们就用循环来画出小时的刻度。这个就是我们的绘制时钟的函数。到这里,动画时钟就了效果图如下演示地址地址 最近在学canvas,然后根据MDN上的例子做了个动画时钟(为什么要造个轮子,因为丑。。) 这是MDN上的例子,怎么说呢,比较复古吧。 showImg(https://se...

    GHOST_349178 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<