时钟效果

简介: 时钟效果,很久很久以前由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:

目录
相关文章
|
Java 程序员 Apache
免费申请和使用IntelliJ IDEA商业版License指南
IntelliJ IDEA是广受Java开发者喜爱的工具,其商业版的价格十分昂贵,现在有机会免费获取IntelliJ IDEA的正版License,您是否心动呢?咱们一起行动吧
1055 0
免费申请和使用IntelliJ IDEA商业版License指南
|
6月前
|
传感器 机器学习/深度学习 人工智能
VR硬件进化史:从“晕3D”到沉浸式未来
VR硬件进化史:从“晕3D”到沉浸式未来
382 4
|
7月前
|
弹性计算 固态存储 NoSQL
阿里云服务器系统盘ESSD AutoPL、ESSD和ESSD Entry云盘有什么区别?如何选择?
阿里云服务器系统盘提供ESSD Entry、ESSD云盘和ESSD AutoPL三种类型,性能与适用场景各不相同。ESSD Entry云盘性价比高,适合开发测试;ESSD云盘分为PL0-PL3四个级别,适用于时延敏感或I/O密集型业务;ESSD AutoPL云盘实现容量与性能解耦,支持自定义预配置性能及突发性能,最高可达100万IOPS。选择时可根据实际需求与预算决定,经济型实例推荐ESSD Entry,高性能场景建议ESSD云盘或ESSD AutoPL。具体价格与参数可参考阿里云官方文档。
|
10月前
|
存储 弹性计算 固态存储
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
阿里云ESSD Entry云盘是新一代企业级云盘,具备高IOPS、低延迟特性,适合开发与测试场景。它提供10~32,768 GiB容量范围,最大IOPS达6,000,吞吐量150 MB/s,时延1~3 ms。支持按量付费和包年包月,性价比高,特别适合个人开发者和中小企业。详情及价格参考阿里云官网。
|
11月前
|
运维 Cloud Native 搜索推荐
中华财险X阿里云:新一代核心系统全面上线!
中华财险X阿里云:新一代核心系统全面上线!
218 12
|
10月前
|
人工智能 大数据 网络性能优化
构建超大带宽、超高性能及稳定可观测的全球互联网络
本次课程聚焦构建超大带宽、超高性能及稳定可观测的全球互联网络。首先介绍全球互联网络的功能与应用场景,涵盖云企业网、转发路由器等产品。接着探讨AI时代下全球互联网络面临的挑战,如大规模带宽需求、超低时延、极致稳定性和全面可观测性,并分享相应的解决方案,包括升级转发路由器、基于时延的流量调度和增强网络稳定性。最后宣布降价措施,降低数据与算力连接成本,助力企业全球化发展。
|
数据采集 缓存 安全
2024年最佳http 代理 IP选择及其价格分析
2024年,多家服务商如快代理、123Proxy、巨量代理、IPIDEA等提供不同类型的代理IP,以满足数据采集、跨境电商等多种需求。
2024年最佳http 代理 IP选择及其价格分析
|
安全 测试技术 API
淘宝API接口测试的详细步骤
理解API文档和规范至关重要; 它们详细描述了请求参数、方法、路径及预期响应, 帮助测试人员准确设计测试用例。测试用例需覆盖正常与异常流程, 可采用自动化工具如Postman辅助编写。测试前要配置好环境, 包括服务器、数据库及测试数据, 并确保安全措施到位。执行测试时选择合适的工具, 如JMeter或SoapUI, 并验证结果符合预期。使用问题跟踪工具记录并跟进测试中发现的问题, 以提升软件质量。
|
弹性计算 缓存 测试技术
2核4G服务器怎么样?能支持多少人同时在线?以阿里云为例
2核4G服务器怎么样?能支持多少人同时在线?以阿里云为例,阿里云2核4g服务器能支持多少人访问?2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
机器学习/深度学习 人工智能 算法
如何建立计算机视觉驱动的汽车损伤检测系统-------杂记
如何建立计算机视觉驱动的汽车损伤检测系统-------杂记
320 0