当前位置:首页 > 日记 > 正文

javascript与画布结合实现简单的时钟

javascript与画布结合实现简单的时钟
在学习了HTML5 Canvas元素,以一个简单的时钟的实现实践。时钟本身并不复杂,没有图片加以美化,但麻雀,虽然小,会与你分享以下:

Demo effect:
HTML代码:

复制代码代码如下所示:

时钟
* {

保证金:0;

填充:0;

}

帆布{。

左:20px保证金;

边距:20px;

border: solid 1px;

}

JS代码:

复制代码代码如下所示:

var画布{ };

canvas.cxt = document.getelementbyid('canvasid)。GetContext(二维的);

画布=点函数(x,y){

这个;

这个,y = y;

};

画布上的所有图形擦除

canvas.clearcxt =函数(){

我=这个;

VaR的画布me.cxt.canvas;

me.cxt.clearrect(0,0,canvas.offsetwidth,帆布。offsetheight);

};

时钟 / * * /

画布=时钟=函数(){

var =画布,

C = me.cxt,

半径= 150, /半径

缩放比例= 20。

minangle =×Math.PI(1 / 30),一弧分* / / *

hourangle =×Math.PI(1 / 6),一个小时的弧度 / * * /

hourhandlength =半径 / 2 / * * /小时

minhandlength =半径 / 3 * 2 / * * /分钟的长度

sechandlength =半径 / 10 * 9 / * * /二手长

中心新=我。点(c.canvas。宽度 / 2,c.canvas。身高 / 2); / * * /。

画出中心(表盘的中心)

功能drawcenter(){

C.save();

c.translate(中心。X、Y中心。);

c.fillstyle =;

C.beginPath();

C.arc(0, 0,半径 / 20, 0, 2 *数学。PI);

C.closePath();

C.fill();

C.stroke();

C.restore();

};

通过坐标转换,绘制刻度盘

功能drawbackground(){

C.save();

c.translate(中心。X中心。Y); / * * /翻译

绘制比例尺

功能drawscale(){

C.moveTo(半径范围,0);

C.lineTo(半径0);

};

C.beginPath();

C.arc(0, 0,半径,0, 2 * Math.PI,真的);

C.closePath();

对于(var i = 1;i < 12;i + +){

DrawScale();

c.rotate(hourangle); / * * /旋转

};

渲染时间(3、6、9、12)* / / *

c.font =大胆30px冲击

C.fillText(3

C.fillText(6

C.fillText(9

C.fillText(12

C.stroke();

C.restore();

};

顺时针方向移动(当前电流(24小时))。

This.drawHourHand = function (H) {

h=0=24:h;

C.save();

c.translate(中心。X、Y中心。);

c.rotate(3 / 2 *数学。PI);

c.rotate(H * hourangle);

C.beginPath();

C.moveTo(0, 0);

C.lineTo(hourhandlength,0);

C.stroke();

C.restore();

};

绘制(m:当前)*分钟

this.drawminhand =功能(M){

m=0=60:m;

C.save();

c.translate(中心。X、Y中心。);

c.rotate(3 / 2 *数学。PI);

c.rotate(m×minangle);

C.beginPath();

C.moveTo(0, 0);

C.lineTo(minhandlength,0);

C.stroke();

C.restore();

};

第二手绘图(第二部分)。

this.drawsechand =函数(){

s=0=60:s;

C.save();

c.translate(中心。X、Y中心。);

c.rotate(3 / 2 *数学。PI);

c.rotate(* minangle);

C.beginPath();

C.moveTo(0, 0);

C.lineTo(sechandlength,0);

C.stroke();

C.restore();

};

根据时钟绘图机的要求

this.drawclock =函数(){

我=这个;

函数绘图(){

日期=新日期();

Canvas.clearCxt();

drawbackground();

DrawCenter();

me.drawhourhand(date.gethours()+()date.getminutes / 60);

me.drawminhand(date.getminutes()+()date.getseconds / 60);

me.drawsechand(date.getseconds());

}

拉();

setInterval(画,1000);

};

};

var =函数(){()

新时钟();

Clock.drawClock();

};
代码涉及几个简单的画布元素API。

以上是本文的全部内容,希望能帮您学习油画。

相关文章

excel常用电子表格公式{}}excel表

excel常用电子表格公式{}}excel表

电子表格,公式,表格,常用,电脑软件,1。发现重复内容的公式:=如果(COUNTIF(一:A、A2)> 1,重复 2。年龄公式是由出生年份计算:= trunc(((days360(H6,2009 / 8 / 30 三.公式为出生年份和月份的18位身份证号码输入:=连结(MID(e2,7,4), / 4。该系统能自动从输入I…

Javascript中常用字符串方法的示例分析

Javascript中常用字符串方法的示例分析

方法,字符串,示例,常用,电脑软件,本文演示了Javascript中字符串的常用方法,供大家参考: 长度属性:字符串中字符的个数。 var =爱像一阵风。 警报(s.length); / / charAt(指数)方法:访问的字符索引指定的索引位置,从0开始 我不会再想起你了。 警报(s1.charat(4…

太空日志笑得很好,生活,去和宋QQ空间

太空日志笑得很好,生活,去和宋QQ空间

空间,日志,很好,笑得,太空,太空日志,写下生活的喜悦,酸甜,记录你自己的心情变化。 这无言的真相,说不爱;这不是解决问题的办法,在心里愿意;无岸,在灵犀;意义是模糊的,如在。岁月的沧桑,都在深刻的平静;这是很难找到的,在短暂的瞬间;收集,在冷漠的;幸福没有…

PS图象处理软件如何成为一个好的、

PS图象处理软件如何成为一个好的、

成为一个,图象,处理软件,生动,红富士苹果,我以前介绍过几个苹果制作教程。今天,萧边将继续给你带来现实的富士苹果导师和现实。你最喜欢的朋友可以一起学习。 在画苹果之前,你需要寻找一些苹果的真实图片,找出你满意的图片。然后根据自己的理…

使用PS图象处理软件添加到本地的马

使用PS图象处理软件添加到本地的马

图象,处理软件,标志,电脑软件,PS,在搜索引擎上下载图片。如果您想覆盖LO、水印、文本、一些杂乱的背景或其他不希望显示的信息,则将其应用于马赛克。下面是图片拼接的一个简单步骤。 在实际工作中,在搜索引擎上下载图片。如果你想盖螺,水印,文…

php获取Web页面上的所有链接。

php获取Web页面上的所有链接。

链接,页面,电脑软件,php,Web,本文演示了PHP如何获取Web页面上的所有链接: 复制代码代码如下: 功能get_all_url($码){ preg_match_all(' / ' } +){ |}的{ ^ > >({ } * ^ > } +)/我美元美元,代码,ARR); 返回的数组('name' = > $ ARR { 2 },'url= >…

非主流QQ个性签名谈恋爱

非主流QQ个性签名谈恋爱

个性签名,非主流,电脑软件,QQ,人不为己天诛地灭不会有任何一个不为自己。这就是社会现实。 我喜欢海浪和人群,不会想念你,我很难过永远不会说再见。 时钟可以指向原点,但它不再是昨天。 你疯了,我是傻,缠着跳上悬崖 如果爱情消失了,那么我有任何…

PS做了一道漂亮的红牡丹花。

PS做了一道漂亮的红牡丹花。

牡丹花,漂亮,电脑软件,PS,重点是花瓣部分的加工。首先,我们需要把花剪下来,用花瓣或涂抹工具把花瓣涂成液体效果,然后用一些立体的溅状材料在花瓣上混合。 重点是花瓣部分的加工。先把花剪开,用花瓣或涂抹工具把花瓣画成液体效果,然后用一些溅…

PHP正则preg_replace_callback函数

PHP正则preg_replace_callback函数

函数用法,正则,例子,电脑软件,PHP,本文介绍了PHP正则preg_replace_callback函数的用法。分享给你供你参考。具体实现的方法如下: PHP正则表达式是强大的,并演示了preg_replace_callback函数的使用 一个用于测试的虚拟定义文本… $标题:Hello …

用ps制作颜色模拟标志

用ps制作颜色模拟标志

模拟,标志,颜色,电脑软件,ps,本教程主要是教你如何使用ps制作一种颜色模拟。效果非常漂亮,所以转身与大家分享,但请不要用它做商业用途。如果有侵权,请告诉我们。 本教程主要是教你如何使用ps制作一种颜色模拟。效果非常漂亮。本教程是一个入…

如何在Word2003Word2003教程数据流

如何在Word2003Word2003教程数据流

流程图,教程,数据,绘制,如何在,Word2003数据流图的绘制 在我们的工作中,我们经常需要绘制流程图,如业务流程。如果你使用比较经典的流程图绘制工具,如Visio,它可能会觉得比较麻烦,不容易打在Word文档。我们经常需要对线对齐的细节花费了大量的时…

滑稽有趣的个性签名滑稽的个性签名

滑稽有趣的个性签名滑稽的个性签名

滑稽,个性签名,有趣,电脑软件,我能想到的最浪漫的事就是放弃你的治疗。 我爱上了你,做什么,西红柿炒蛋。 一个男人的伞,抱着两个人,谈论着第三个人的故事。 每次恶补,总是给我一个佛。 你以后不会摆脱,你的形象,警察一直在你身后。 我在上帝的态度…