jquery+html5制作超酷的圆盘时钟表
自己封装的一个用HTML5+jQuery写的时钟表
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
<!DOCTYPE html PUBLIC "-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/h2D/xhtml1-transitional.h2d" > <head> <title>超酷数码钟表</title> /jquery/1.10.2/jquery.min.js" ></script> <script type= "text/javascript" > //引用的是在线jquery地址,如果不行请自行下载切换 ( function ($){ $.fn.drawClock = function (options){ var mainId = $( this ); //设置默认参数 var defaultOptions = { 'width' : '300px' , 'height' : '300px' , 'margin' : '200px auto' , 'border' : '1px solid #888' , 'border-radius' : '50%' , 'box-shadow' : '2px 2px 4px #111' }; var options = $.extend(defaultOptions, options); mainId.css({ 'width' : options.width, 'height' : options.height, 'margin' : options.margin, 'border' : options.border, 'border-radius' : options[ 'border-radius' ], 'box-shadow' : options[ 'box-shadow' ], 'position' : 'relative' }).css({ 'background' : '-webkit-gradient(radial, ' + mainId.width()/2 + ' ' + mainId.height()/2 + ', 0, ' + mainId.width()/2 + ' ' + mainId.height()/2 + ', ' + mainId.width()/2 + ', from(#ffe), to(#eee))' , 'background' : '-moz-radial-gradient(circle closest-side, #ffe 0%, #eee 100%)' }); //钟表盘中心圆 $( "<div id='circle'></div>" ).appendTo(mainId).css({ 'width' : '20px' , 'height' : '20px' , 'border-radius' : '50%' , 'box-shadow' : '0 0 5px rgba(0,0,0,0.8)' , 'position' : 'absolute' , 'z-index' : 999, 'background' : '-webkit-gradient(radial, ' + mainId.width()/2 + ' ' + mainId.height()/2 + ', 0, ' + mainId.width()/2 + ' ' + mainId.height()/2 + ', ' + mainId.width()/2 + ', from(#ffe), to(#eee))' , 'background' : '-moz-radial-gradient(circle, #eee 30%, #ffe 100%)' }).css({ 'left' : mainId.width()/2 - $( '#circle' ).width()/2, 'top' : mainId.height()/2 - $( '#circle' ).height()/2 }); var dateTime = new Date(); var oHours = dateTime.getHours(); var oMinutes = dateTime.getMinutes(); var oSeconds = dateTime.getSeconds(); //初始化时分秒 var hPointer = drawPointer(mainId.width()/2, mainId.height()/2, mainId.width()/2*(3/6), 5, "#333" , -90+oHours*30+oMinutes*6/12); var mPointer = drawPointer(mainId.width()/2, mainId.height()/2, mainId.width()/2*(4/6), 4, "#666" , -90+oMinutes*6); var sPointer = drawPointer(mainId.width()/2, mainId.height()/2, mainId.width()/2*(5/6), 3, "#f00" , -90+oSeconds*6); //运动时分秒 var timer = setInterval( function (){ dateTime = new Date(); oHours = dateTime.getHours(); oMinutes = dateTime.getMinutes(); oSeconds = dateTime.getSeconds(); hPointer.css({ 'transform' : 'rotate(' + (-90+oHours*30+oMinutes*6/12) + 'deg)' }); mPointer.css({ 'transform' : 'rotate(' + (-90+oMinutes*6) + 'deg)' }); sPointer.css({ 'transform' : 'rotate(' + (-90+oSeconds*6) + 'deg)' }); }, 1000); //绘制钟表刻度 for ( var i=0; i<60; i++){ var width = 3, height = 6, oBcolor = '#111' ; if (i%5 == 0){ width = 5; height = 10; } if (i%15 == 0){ oBcolor = 'red' ; } $( "<div class='clockMark'></div>" ).appendTo(mainId).css({ 'width' : width, 'height' : height, 'position' : 'absolute' , 'top' : 0, 'left' : mainId.width()/2, 'background' : oBcolor, 'transform' : 'rotate(' + i*6 + 'deg)' , "transform-origin" : "0 " + mainId.width()/2+ 'px' }); } //绘制钟表指针 function drawPointer (startx, starty, width, height, bcolor, angle) { var oPointer = $( "<div></div>" ); oPointer.appendTo(mainId).css({ 'width' : width, 'height' : height, 'position' : 'absolute' , 'top' : starty, 'left' : startx, 'background' : bcolor, 'transform' : 'rotate(' + angle + 'deg)' , 'transform-origin' : '0 0' }); return oPointer; } return this ; } })(jQuery); </script> <script type= "text/javascript" > $( function (){ $( '#clock' ).drawClock(); }); </script> </head> <body> <div id= "clock" ></div> </body> </html> |
演示图:
以上所述就是本文的全部内容了,希望大家能够喜欢。
您可能感兴趣的文章:
jquery+html5制作超酷的圆盘时钟表的更多相关文章
- jQuery和CSS3超酷表单美化插件
这是一款效果很精美炫酷的jQuery和CSS3联系方式表单美化插件.大多数站点上都有让用户填写的联系方式表单,一个设计良好的表单可以大大的提升用户的体验度.该表单美化插件在原生HTML表单的基础上进 ...
- 10款基于jquery实现的超酷动画源码
1.jQuery二级下拉菜单 下拉箭头翻转动画 之前我们分享过不少基于jQuery的二级下拉菜单,甚至是多级的下拉菜单,比如这款jQuery/CSS3飘带状多级下拉菜单就非常华丽.但今天要介绍的这款j ...
- 基于jQuery和CSS3超酷Material Design风格滑动菜单导航特效
分享一款效果非常炫酷的谷歌 Material Design 风格jQuery和CSS3滑动选项卡特效.该选项卡特效集合了扁平风格设计和按钮点击波特效.是一款设计的非常不错的Material Desig ...
- PS如何制作超酷3D字效果
效果图.jpg (24.94 KB) 2008-4-4 21:46 1.打开PS 执行文件-新建-新建550X400像素空白文档 1.jpg (36.69 KB) 2008-4-4 21:46 2.输 ...
- HTML5/CSS3超酷环形动画菜单
在线演示 本地下载
- 8款耀眼的jQuery/HTML5焦点图滑块插件
1.HTML5/CSS3超酷焦点图特效 带前后翻页按钮 今天要分享的这款HTML5/CSS3焦点图插件切换效果比较简单,但是外观和功能却十分强大.该CSS3焦点图在切换图片时,图片以淡入淡出的方式缩小 ...
- 超炫酷的jQuery/HTML5应用效果及源码
jQuery非常强大,我们之前也用jQuery分享过很多实用的插件.HTML5可以让网页变得更加绚丽多彩,将HTML5和jQuery结合使用那将发挥更棒的效果. 今天向大家收集了一些关于HTML5和j ...
- 8款超酷的HTML5 3D图片动画源码
1.HTML5移动端图片左右切换动画 今天要给大家分享一款很不错的图片左右切换焦点图动画,并且支持移动端触摸滑动.功能上,这款HTML5图片播放器支持鼠标滑动.手机端触摸滑动以及自动播放.外观上,这款 ...
- 精选10款超酷的HTML5/CSS3菜单
今天向大家精选了10款超酷的HTML5/CSS3菜单,给你的网页添加不一样的精彩,一起来围观一下吧. 1.CSS3手风琴菜单 下拉展开带弹性动画 利用CSS3技术可以实现各种各样的网页菜单,我们之前也 ...
随机推荐
- 洛谷P2325王室联邦 SCOI2005 构造+树上分块
正解:构造 解题报告: 照例先放传送门 umm其实我jio得这题应该在教树上莫队的时候港,应该是用来帮助理解树上莫队的分块方式的 然而这题是在学了树上分块之后再遇到的?就显得没那么难了吼 然后就随便说 ...
- Feed系统架构资料收集(转)
add by zhj:有些链接已经失效,后续会修改. 原文:http://blog.csdn.net/zhangzhaokun/article/details/7834797 完全用nosql轻松打造 ...
- kubernetes实战(八):k8s集群安全机制RBAC
1.基本概念 RBAC(Role-Based Access Control,基于角色的访问控制)在k8s v1.5中引入,在v1.6版本时升级为Beta版本,并成为kubeadm安装方式下的默认选项, ...
- [原创]chromium源码阅读-进程间通信IPC.消息的接收与应答
chromium源码阅读-进程间通信IPC.消息的接收与应答 chromium源码阅读-进程间通信IPC.消息的接收与应答 介绍 chromium进程间通信在win32下是通过命名管道的方式实现的 ...
- git-【六】分支的创建与合并
在版本回填退里,已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...
- [RGEOS]空间拓扑关系
-1.判断两个线段是否平行 inline bool parallel_seg_seg(Segment_2 S1, Segment_2 S2) { Vector_2 u(S1); Vector_2 v( ...
- 解决下载ftp文件过程中,浏览器直接解析文件(txt,png等)的问题
搭建了一个ftp服务器,供用户进行上传下载,在下载过程中发现,一些文件,例如txt,jpg,png,pdf等直接被浏览器解析了.在浏览器中显示其内容,没有下载. 下面通过网上查询得到一些解决方法: 最 ...
- python学习笔记(二十八)日志模块
我们在写程序的时候经常会打一些日志来帮助我们查找问题,这次学习一下logging模块,在python里面如何操作日志.介绍一下logging模块,logging模块就是python里面用来操作日志的模 ...
- 搭建markdown图床-腾讯云COS
背景介绍 书写markdown笔记时,如何处理图片,实在是有些棘手的问题.每一张图都保存在当前文件夹? 每张图都自己重命名?每次上传到cnblogs博客都需要一张一张拖动?markdown已经非常成功 ...
- soapUI-DataSource Loop
1.1.1 DataSource Loop 当我们需要遍历某DataSource中的所有内容时.需要在TestCase中添加DataSource Loop步骤,然后双击它进行配置,如下图所示: Op ...