时钟效果

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

目录
相关文章
|
2月前
|
存储 弹性计算 安全
阿里云对象存储OSS怎么收费?存储费、流量费和功能费用价格说明
阿里云OSS按存储、流量等计费,支持按量付费和资源包两种模式。标准存储按量0.09元/GB/月,40GB包年9元,500GB包年118.99元。流量仅公网出方向收费,可购流量包抵扣。详情见官方页面。
639 7
|
2月前
|
运维 持续交付 API
具身智能:零基础入门睿尔曼机械臂(四)—— 夹爪无响应?官方例程踩坑与排错实战
本文复盘睿尔曼机械臂夹爪“指令成功但无动作”的故障,揭示官方例程遗漏末端电压配置与通信协议初始化两大隐患。通过“软件—硬件—通信”三步排查,结合万用表测量与示教器配置,最终解决供电缺失与指令失效问题,为末端执行器部署提供可落地的实战方案。
205 6
|
编解码 数据可视化
信号补零对信号频谱的影响
信号补零对信号频谱的影响
884 3
|
数据采集 存储 前端开发
使用 rvest 包快速抓取网页数据:从入门到精通
本文介绍了如何使用 R 语言中的 `rvest` 包结合代理 IP 技术,快速抓取新闻网站的数据。以澎湃新闻为例,详细展示了如何配置代理、解析网页结构、提取新闻标题和摘要,并将数据保存为 CSV 文件。通过本教程,读者可以掌握 `rvest` 包的使用方法,提高爬虫抓取效率。
489 6
使用 rvest 包快速抓取网页数据:从入门到精通
|
JSON 安全 API
抖音店铺商品信息的 API
抖音店铺商品信息的 API 主要用于获取商品的详细信息,包括基本信息、属性、库存、评价、推广信息等。开发者需注册账号、申请权限、阅读文档、发送请求并处理响应。此外,还提供商品搜索和管理接口,帮助商家优化商品展示和管理订单,提高运营效率。使用时需遵守平台规则,确保数据安全和合法性。
|
编解码 API 数据安全/隐私保护
FFmpeg开发笔记(五十四)使用EasyPusher实现移动端的RTSP直播
【9月更文挑战第21天】本文介绍了如何使用FFmpeg和EasyPusher实现移动端RTSP直播。首先概述了EasyPusher的功能及其API,接着详细描述了安装FFmpeg、获取EasyPusher库、初始化对象、打开输入流、配置推送参数及读取推送帧的具体步骤,并提醒开发者注意网络环境、编码参数和权限管理等问题,以确保直播质量与稳定性。
220 8
|
边缘计算 人工智能 安全
探索边缘计算:定义、优势及未来趋势
探索边缘计算:定义、优势及未来趋势
|
存储 缓存 监控
【赵渝强老师】HBase的体系架构
本文介绍了HBase的体系架构,包括HMaster、RegionServer和ZooKeeper的主要功能。HMaster负责Region的分配和管理,RegionServer处理数据的读写操作,ZooKeeper维护集群状态并协调分布式系统的运行。文章还详细解释了Region、WAL预写日志、Block Cache读缓存和MemStore写缓存的作用。
701 0
|
存储 机器人
ROS2教程 07 参数Param
本文是关于ROS2(机器人操作系统2)中参数(Parameter)机制的教程,介绍了ROS2中参数的使用和管理,包括列出、获取、设置、删除参数,以及如何通过命令行和launch文件在启动节点时配置参数,并通过示例代码展示了如何在ROS2节点中声明和使用参数。
1057 1
|
搜索推荐
想要刻录蓝光光盘吗? 快来了解最好的蓝光刻录软件!
在数字娱乐蓬勃发展的今天,追求高清震撼的视听体验已成为趋势。面对众多高清视频制作工具的选择难题,DVDFab Blu-ray Creator脱颖而出,被誉为最佳蓝光刻录软件。它不仅支持多种视频格式输入(如MP4, MKV)及高清1080p输出,还能制作个性化菜单,兼容不同输出介质(BD-R, BD-RE等)。只需几步即可完成从视频导入到成品输出的全过程,无论是家庭回忆还是专业项目都能完美呈现。