时钟效果

简介: 时钟效果,很久很久以前由flash提供网页的各种有趣的效果,近些年由html5推出canvas后,canvas与之博弈。现在讲的是用raphaeljs实现时钟效果。raphaeljs封装了svg和vml操作方法,SVG(Scalable Vector Graphics)可缩放矢量图形。

时钟效果,很久很久以前由flash提供网页的各种有趣的效果,近些年由html5推出canvas后,canvas与之博弈。现在讲的是用raphaeljs实现时钟效果。

raphaeljs封装了svg和vml操作方法,SVG(Scalable Vector Graphics)可缩放矢量图形。VML(The Vector Markup Language)矢量可标记语言。


先饱饱眼福,win7中的时钟效果show下,见下图:




接下来亮相的时钟效果图(金属光泽的超质感),见下图:


简单描述实现原理:
第一步:画时钟。时钟圆盘、时钟时分秒指针、刻度、时间。画图方法circle、rect、text。

// 画时钟表盘
r.circle(150, 150, 140).attr({fill:"r(0.5,0.5)#ffffff-#efefef",stroke:"#cecece","stroke-width":1});
// 画时针
r.rect(144,150,8,100,4).attr({fill:"#ccc",stroke:"none"});
// 画刻度
r.rect(28,145,10,4).attr({fill:"#999",stroke:"none"});
// 画时间
r.text(150,220,(dh+":"+dm+":"+ds)).attr({font: "14px Arial", fill: "#000"});


第二步:指针动起来动起来。

// 初始化时分秒指针
var d = new Date();
var ds = d.getSeconds();
var dm = d.getMinutes();
var dh = d.getHours();
var dD = d.getDate();
var dM = d.getMonth()+1;
var dY = d.getFullYear();
h.rotate((dh+30+(dm/60)+(ds/(60*60)))*30,150,150);  
m.rotate((dm+30+(ds/60))*6,150,150); 
s.rotate((ds+30)*6,150,150);
// 每秒更新指针
setInterval(function(){
    d = new Date();
    ds = d.getSeconds();
    dm = d.getMinutes();
    dh = d.getHours();
    dD = d.getDate();
    dM = d.getMonth()+1;
    dY = d.getFullYear(); 

    h.rotate(6/(60*60),150,150);
    m.rotate(6/60,150,150);
    s.rotate(6,150,150);
},1000);

 

第三步:显示时间年月份。

// 初始化时间
var txt = r.text(150,220,(dh+":"+dm+":"+ds)).attr({font: "14px Arial", fill: "#000"});
var txt1 = r.text(150,200,dY+"年"+dM+"月"+dD+"日  星期"+txtT.charAt(dT)).attr({font: "14px Arial",fill: "#000"});
// 每秒更新时间
setInterval(function(){
    txt.attr({text:dh+":"+dm+":"+ds});
    txt1.attr({text:dY+"年"+dM+"月"+dD+"日  星期"+txtT.charAt(dT)});
},1000);

 


搞定,超爽,感兴趣的可以发挥想象力做出更多时钟效果。




DEMO:

目录
相关文章
|
7月前
|
监控
单片机的时钟系统
单片机的时钟系统
83 1
|
4月前
【51单片机】通过定时器中断 在8位数码管显示时间
【51单片机】通过定时器中断 在8位数码管显示时间
|
5月前
|
定位技术 数据处理
ptp 时钟同步
ptp 时钟同步
75 0
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
|
7月前
|
前端开发 算法 JavaScript
html+css+js实现时钟
html+css+js实现时钟
70 0
|
测试技术 C语言 芯片
基于51单片机的自动打铃打鸣作息报时系统AT89C51数码管三极管时钟电路
基于51单片机的自动打铃打鸣作息报时系统AT89C51数码管三极管时钟电路
258 0
|
算法 机器人 芯片
利用单片机PWM信号占空比进行舵机控制
基于单片机的舵机控制方法具有简单、精度高、成本低、体积小的特点,并可根据不同的舵机数量加以灵活应用。
246 0
|
计算机视觉
【STM32】滴答时钟24位递减计数器系统时钟【SystTick】
【STM32】滴答时钟24位递减计数器系统时钟【SystTick】
231 0
|
芯片
FPGA-使用RTC时钟芯片进行时钟读取(数码管显示)
FPGA-使用RTC时钟芯片进行时钟读取(数码管显示)
299 0
FPGA-使用RTC时钟芯片进行时钟读取(数码管显示)