日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript canvas實(shí)現(xiàn)文字時(shí)鐘

瀏覽:38日期:2023-06-10 18:05:14

本文實(shí)例為大家分享了canvas實(shí)現(xiàn)文字時(shí)鐘的具體代碼,供大家參考,具體內(nèi)容如下

先看看效果圖

JavaScript canvas實(shí)現(xiàn)文字時(shí)鐘

代碼

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title></head><body> <canvas height='600'>您的瀏覽器不支持canvas</canvas><script> var c=document.getElementById('myCanvas'); var ctx=c.getContext('2d'); ctx.translate(300,300); function Clock(ctx){ this.ctx = ctx; // canvas 2d畫筆 this.h = ’’; // 小時(shí) this.m = ’’; // 分鐘 this.s = ’’; // 秒鐘 this.year = ’’; // 年份 this.mon = ’’; // 月份 this.da = ’’; // 日期 this.day = ’’; // 星期 this.timer = null; // 定時(shí)器 this.numberText = [’零’,’一’,’二’,’三’,’四’,’五’,’六’,’七’,’八’,’九’,’十’,’十一’,’十二’,’十三’,’十四’,’十五’,’十六’,’十七’,’十八’,’十九’,’二十’,’二十一’,’二十二’,’二十三’,’二十四’,’二十五’,’二十六’,’二十七’,’二十八’,’二十九’,’三十’,’三十一’]; this.H=[’零點(diǎn)’,’一點(diǎn)’,’二點(diǎn)’,’三點(diǎn)’,’四點(diǎn)’,’五點(diǎn)’,’六點(diǎn)’,’七點(diǎn)’,’八點(diǎn)’,’九點(diǎn)’,’十點(diǎn)’,’十一點(diǎn)’,’十二點(diǎn)’,’十三點(diǎn)’,’十四點(diǎn)’,’十五點(diǎn)’,’十六點(diǎn)’,’十七點(diǎn)’,’十八點(diǎn)’,’十九點(diǎn)’,’二十點(diǎn)’,’二十一點(diǎn)’,’二十二點(diǎn)’,’二十三點(diǎn)’]; this.M=[’零分’,’一分’,’二分’,’三分’,’四分’,’五分’,’六分’,’七分’,’八分’,’九分’,’十分’,’十一分’,’十二分’,’十三分’,’十四分’,’十五分’,’十六分’,’十七分’,’十八分’,’十九分’,’二十分’,’二一分’,’二十二分’,’二十三分’,’二十四分’,’二十五分’,’二十六分’,’二十七分’,’二十八分’,’二十九分’,’三十分’,’三十一分’,’三十二分’,’三十三分’,’三十四分’,’三十五分’,’三十六分’,’三十七分’,’三十八分’,’三十九分’,’四十分’,’四十一分’,’四十二分’,’四十三分’,’四十四分’,’四十五分’,’四十六分’,’四十七分’,’四十八分’,’四十九分’,’五十分’,’五十一分’,’五十二分’,’五十三分’,’五十四分’,’五十五分’,’五十六分’,’五十七分’,’五十八分’,’五十九分’]; this.S=[’零秒’,’一秒’,’二秒’,’三秒’,’四秒’,’五秒’,’六秒’,’七秒’,’八秒’,’九秒’,’十秒’,’十一秒’,’十二秒’,’十三秒’,’十四秒’,’十五秒’,’十六秒’,’十七秒’,’十八秒’,’十九秒’,’二十秒’,’二一秒’,’二十二秒’,’二十三秒’,’二十四秒’,’二十五秒’,’二十六秒’,’二十七秒’,’二十八秒’,’二十九秒’,’三十秒’,’三十一秒’,’三十二秒’,’三十三秒’,’三十四秒’,’三十五秒’,’三十六秒’,’三十七秒’,’三十八秒’,’三十九秒’,’四十秒’,’四十一秒’,’四十二秒’,’四十三秒’,’四十四秒’,’四十五秒’,’四十六秒’,’四十七秒’,’四十八秒’,’四十九秒’,’五十秒’,’五十一秒’,’五十二秒’,’五十三秒’,’五十四秒’,’五十五秒’,’五十六秒’,’五十七秒’,’五十八秒’,’五十九秒’]; this.draw = function(){ this.ctx.clearRect(-300,-300,600,600); // 中心小黑圓 this.ctx.beginPath(); this.ctx.arc(0,0,5,0,Math.PI*2,true); this.ctx.fill(); this.ctx.closePath(); // 畫長橫線 this.ctx.beginPath(); this.ctx.moveTo(0,0); this.ctx.lineTo(280,0); this.ctx.strokeStyle=’#000’; this.ctx.stroke(); this.ctx.beginPath(); this.ctx.font=’12px 微軟雅黑’; var yearText = ’’; var arr = String(this.year).split(’’); for(var n=0;n<arr.length;n++){ var num = Number(arr[n]); yearText += this.numberText[num]; } var weekday = this.day === 0 ? ’星期日’: ’星期’+this.numberText[this.day]; // 星期 var moText = this.numberText[this.mon]+’月’+ this.numberText[this.da]+’日’; this.ctx.fillText(yearText+’年’,10,-10); // 年份的文字 this.ctx.fillText(moText,10,20); // 月份/日期/星期的文字 this.ctx.fillText(weekday,10,40); // 月份/日期/星期的文字 this.drawClock(); } // 畫刻度 this.drawClock = function(){ // 時(shí)鐘 this.ctx.save(); // 保存當(dāng)前狀態(tài) this.ctx.rotate(Math.PI / 12 * this.h); for(var j=0; j < 24;j++){ this.ctx.beginPath(); var color = j === this.h ? ’#000’: ’#ccc’; this.ctx.strokeStyle = color; this.ctx.font=’12px 微軟雅黑’; this.ctx.strokeText(this.H[j],110,-5); this.ctx.closePath(); this.ctx.rotate(-Math.PI / 12); } this.ctx.restore(); // 恢復(fù)到上一次的狀態(tài) // 分鐘 this.ctx.save(); this.ctx.rotate(Math.PI / 30 * this.m); for (var i=0; i < 60; i++){ this.ctx.beginPath(); var color = i === this.m ? ’#000’: ’#ccc’; this.ctx.strokeStyle = color; this.ctx.strokeText(this.M[i],170,-5); this.ctx.closePath(); this.ctx.rotate(-Math.PI / 30); } this.ctx.restore(); // 秒鐘 this.ctx.save(); this.ctx.rotate(Math.PI / 30 * this.s); for (var k=0; k < 60; k++){ this.ctx.beginPath(); var color = k === this.s ? ’#000’: ’#ccc’; this.ctx.strokeStyle = color; this.ctx.strokeText(this.S[k],230,-5); this.ctx.closePath(); this.ctx.rotate(-Math.PI / 30); } this.ctx.restore(); // ctx.rotate(-Math.PI / 30 * this.s); } // 初始化 this.init = function(){ var that = this; this.timer = setInterval(function(){ that.setTime(); that.draw(); },100); } // 停止 this.stop = function(){ clearInterval(this.timer); this.timer = null; } // 設(shè)置時(shí)間 this.setTime = function(){ var date = new Date(); this.year = date.getFullYear(); // 年, int this.mon = date.getMonth()+1; // 月分, int this.da = date.getDate(); // 日期, int this.day = date.getDay(); // 星期, int var hour = date.getHours(); // 時(shí),int var minu = date.getMinutes(); // 分,int var sec = date.getSeconds(); // 秒,int // 毫秒數(shù)/1000 ,這里主要是為了做幀動(dòng)畫 var minuScond = date.getMilliseconds()/1000; var second; // 秒,計(jì)算秒旋轉(zhuǎn)的角度, float var minute; // 分,計(jì)算分鐘的角度,float var ho; // 小時(shí),計(jì)算小時(shí)的角度,float if(minuScond > 0.8){ second = Math.ceil(sec+ minuScond); second = second >= 60? 0:second; } else { second = sec+ minuScond; } // 秒鐘到了59,分鐘要過渡 if(sec === 59) { if(minuScond >= 0.8){ minute = Math.ceil(minu+ minuScond); minute = minute >=60 ? 0: minute; } else{ minute = minu + minuScond; } } else{ minute = minu; } // 秒數(shù)到了59和分鐘數(shù)到了59;時(shí)針要過渡 if(sec === 59 && minu===59){ if(minuScond >= 0.8){ ho = Math.ceil(hour+ minuScond); ho = ho >=24 ? 0: ho; } else{ ho = hour + minuScond; } } else{ ho = hour; } this.h = ho; // 小時(shí) this.m = minute; // 分鐘 this.s = second; // 秒鐘 } } var clock = new Clock(ctx); clock.init();</script></body></html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩综合小视频| 美女尤物国产一区| 精品网站999| 亚洲一区国产| 蜜臀精品一区二区三区在线观看 | 另类中文字幕国产精品| 日韩精品视频网站| 精品无人区麻豆乱码久久久| 免费日韩av片| 美女在线视频一区| 久久a爱视频| 美女网站一区| 国产区精品区| 中文字幕日韩高清在线| 亚洲色图国产| 一区二区国产在线| 日韩一区二区三区高清在线观看| 日韩二区三区四区| 国产精品久久久久毛片大屁完整版| 国产精品第一国产精品| 国产一区二区三区天码| 在线日韩欧美| 在线精品视频一区| 蜜桃91丨九色丨蝌蚪91桃色| 午夜视频一区二区在线观看| 国产日韩中文在线中文字幕| 国产aⅴ精品一区二区四区| 日本在线高清| 亚洲欧美日韩精品一区二区| 日韩av成人高清| 美女视频黄免费的久久| 日韩免费久久| 日韩精品一级中文字幕精品视频免费观看 | 欧美激情aⅴ一区二区三区 | 日本欧美在线| 久久免费福利| 91精品国产自产在线观看永久∴| 国产视频欧美| 国产精品任我爽爆在线播放| 欧美sm一区| 免费看黄色91| 精品国产一区二区三区av片| 宅男在线一区| 欧美一级一区| 亚洲精品国产嫩草在线观看| 免费人成精品欧美精品| 久久av电影| 久久国际精品| 国产一区久久| 日韩精品一区二区三区免费观影 | 国产精品观看| 午夜在线视频观看日韩17c| 久久视频国产| 天海翼亚洲一区二区三区| 日韩av黄色在线| 国产成人精品亚洲日本在线观看| 欧美91福利在线观看| 日韩毛片一区| 久久久久久久久99精品大| 日韩va欧美va亚洲va久久| 成人日韩精品| 91精品国产经典在线观看| 久久免费高清| 亚洲精品美女| 蜜桃视频在线网站| 日韩亚洲精品在线观看| 亚洲一级少妇| 国产精品视频一区二区三区| 欧美另类专区| 久久精品福利| 蜜桃视频在线观看一区二区| 亚洲黄色中文字幕| 欧美日韩视频免费看| 久久视频精品| 精品国产亚洲一区二区三区大结局| 国产视频亚洲| 日韩精品一卡| 久久久国产精品入口麻豆| 久久美女性网| 精品中文字幕一区二区三区四区| 首页国产欧美久久| 人人香蕉久久| 麻豆精品一区二区综合av| 在线精品一区二区| 欧美日韩国产免费观看视频| 日本视频在线一区| 美女久久久久久| 四虎精品永久免费| 亚洲成人va| 免费人成精品欧美精品| 激情久久久久久久| 久久久男人天堂| 日本aⅴ亚洲精品中文乱码| 国产一区二区三区亚洲| 免费看日韩精品| 免费观看久久av| 福利视频一区| 国产精品大片免费观看| 亚洲精品一级二级三级| 久久国产直播| 日韩不卡一区| 久久精品一区| 国产毛片精品久久| 日本成人在线一区| 国产亚洲亚洲| 国产精品99一区二区| 亚洲成av在线| 岛国av在线网站| 国产精品videossex久久发布| 亚洲区欧美区| 亚洲精品日本| 婷婷综合成人| 亚洲精品九九| 蜜桃av一区二区三区电影| 国产精品日韩欧美一区| 蜜桃成人av| 欧美二区视频| 午夜视频精品| 亚洲激情另类| 日韩视频二区| 中文精品在线| 国产精品女主播一区二区三区| 亚洲女同一区| 亚洲一区二区网站| 天堂网在线观看国产精品| 99国产精品一区二区| 999视频精品| 午夜国产精品视频| 日韩不卡在线| 中文精品电影| 国产激情一区| 黄色欧美日韩| 日韩**一区毛片| 麻豆久久一区| 欧美日本不卡| 久久久久免费| 图片区亚洲欧美小说区| 亚洲欧美日韩国产一区| 免费成人在线观看| 久久精品亚洲| 福利视频一区| 成人av三级| 久久九九电影| 99热免费精品| 亚洲乱码一区| 免费在线成人| se01亚洲视频| 图片区亚洲欧美小说区| 免费成人av在线播放| 国产日产精品_国产精品毛片 | 亚洲精品日本| 国产日韩欧美一区二区三区 | 成人在线超碰| 蜜桃精品在线| 久久亚洲色图| 热久久久久久| 精品国产第一福利网站| 国产一区视频在线观看免费| 蜜臀av性久久久久蜜臀aⅴ四虎| 91精品日本| 国产精品福利在线观看播放| 久久久国产亚洲精品| 免费在线成人网| 久久一区精品| 亚洲精品888| 91成人在线| av高清一区| 午夜国产精品视频免费体验区| 日韩高清欧美| 99热精品在线| 国产一区二区精品久| 国产亚洲永久域名| 欧美一区久久久| 久久国产精品免费精品3p | 中文一区一区三区免费在线观 | 亚洲天堂一区二区| 国产一区清纯| 日韩国产欧美三级| 精品一区二区三区中文字幕在线| 偷拍精品精品一区二区三区| 久久亚洲二区| 粉嫩av一区二区三区四区五区 | 久久国产中文字幕| 日本a口亚洲| 日韩国产欧美一区二区| 亚洲中午字幕| 久久精品国产亚洲一区二区三区| 日韩精品影视| 日本视频一区二区| 99热精品久久| 欧美日韩国产一区二区在线观看| 天堂а√在线最新版中文在线| 免费看精品久久片| 麻豆网站免费在线观看| 快she精品国产999| 国产一区二区三区久久| 亚洲欧美日韩在线观看a三区| 精品国产亚洲日本| 亚洲日本欧美| 亚洲一级影院|