哒哒哒~趁着现在还不困,再来说一下用JS实现钟表的方法,这样轻轻松松就可以自己制作一个时钟出来了,而且样式随你喜欢,想想是不是就很开心,我用了杨洋的帅照做的哦~
先说一下实现思路:很简单,就是获取时间对象,然后分别获取时分秒,然后根据时分秒和表盘的角度问题进行设置就好了。至于时钟上的数字怎么一下子调过去也很简单,写在for循环中,进行一下变换就好了,可不要傻傻的一个一个去调哦,话不多说上代码:
//body部分
<div id="box">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
<div class="item">10</div>
<div class="item">11</div>
<div class="item">12</div>
<div id="hour"></div>
<div id="minute"></div>
<div id="second"></div>
</div>
//script部分
for(var i =0;i<num.length;i++){
num[i].style.transform = "rotate("+((i+1) * 30)+"deg) translateY(-280px) rotate("+ (i+1)*-30 +"deg)";
};
var hour = document.getElementById("hour");
var minute = document.getElementById("minute");
var second = document.getElementById("second");
setInterval(function(){
var date = new Date();
var h = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
second.style.transform = "rotate("+s*6+"deg)";
var sec = 6*s/360*6;
minute.style.transform = "rotate("+(m*6+sec)+"deg)";
var min = 6*m/360*30;
var ho = hour.style.transform = "rotate("+(h*30+min)+"deg)";
},50)
上面的代码时分中加上分秒是为了,能够实时获得指针转动的角度,不至于跳动的很突兀。
啦啦啦,杨洋来了哦,效果图如下:
录制时间为晚上九点一分左右