JavaScript Canvas編寫炫彩的網(wǎng)頁時(shí)鐘
本文實(shí)例為大家分享了JavaScript Canvas編寫炫彩網(wǎng)頁時(shí)鐘的具體代碼,供大家參考,具體內(nèi)容如下
只是利用了Canvas制作的。
示意圖如下:
<!DOCTYPE html> <html> <head> <meta http-equiv = "Content-Type" content = "text/html"; charsert = "utf-8" /> <title> 網(wǎng)頁時(shí)鐘 </title> </head> <body> <h2> Web時(shí)鐘 </h2> <canvas id = "hello" width = "400" height = "400" style = "border:1px solid black"> </canvas> <script languagetype = "text/javascript"> var myCavas = document.getElementById('hello'); var c = myCavas.getContext('2d'); function clock() { c.clearRect(0, 0, 400, 400); //獲取當(dāng)前時(shí)間 var data = new Date(); //獲取秒 var sec = data.getSeconds(); //獲取分鐘 var min = data.getMinutes(); //獲取小時(shí) var hour = data.getHours(); c.save(); c.translate(200, 200); c.rotate(-Math.PI/2); //分針刻度線 for (var i = 0; i < 60; i++) { //畫60個(gè)刻度線 c.beginPath(); c.strokeStyle = "yellowgreen"; c.lineWidth = 5; c.moveTo(117, 0); c.lineTo(120, 0); c.stroke(); //每6deg畫一個(gè)分鐘刻度線 c.rotate(Math.PI/30); c.closePath(); } //時(shí)鐘刻度線 for (var i = 0; i < 12; i++) { //畫60個(gè)刻度線 c.beginPath(); c.strokeStyle = "green"; c.lineWidth = 8; c.moveTo(100, 0); c.lineTo(120, 0); c.stroke(); //每6deg畫一個(gè)分鐘刻度線 c.rotate(Math.PI/6); c.closePath(); } //外表盤 c.beginPath(); c.strokeStyle = "pink"; c.arc(0, 0, 145, 0, Math.PI*2); c.lineWidth = 12; c.stroke(); c.closePath(); //畫時(shí)針 hour = hour > 12 ? hour-12 : hour; //console.log(hour); c.beginPath(); c.save(); //設(shè)置旋轉(zhuǎn)角度,參數(shù)是弧度,角度0-360 弧度角度*Math.PI/180 c.rotate(Math.PI/6*hour + Math.PI/6*min/60 + Math.PI/6*sec/3600); c.strokeStyle = "yellowgreen"; c.lineWidth = 4; c.moveTo(-20, 0); c.lineTo(50, 0); c.stroke(); c.restore(); c.closePath(); //畫分針 //console.log(min); c.beginPath(); c.save(); c.rotate(Math.PI/30*min + Math.PI/30*sec/60); c.strokeStyle = "springgreen"; c.lineWidth = 3; c.moveTo(-30, 0); c.lineTo(70, 0); c.stroke(); c.restore(); c.closePath(); //畫秒針 c.beginPath(); c.save(); c.rotate(Math.PI/30*sec); c.strokeStyle = "red"; c.lineWidth = 2; c.moveTo(-40, 0); c.lineTo(120, 0); c.stroke(); c.restore(); c.closePath(); c.restore(); } clock(); setInterval(clock, 1000); </script> </body> </html>
更多JavaScript時(shí)鐘特效點(diǎn)擊查看:JavaScript時(shí)鐘特效專題
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript canvas實(shí)現(xiàn)文字時(shí)鐘
- 使用js和canvas實(shí)現(xiàn)時(shí)鐘效果
- JavaScript canvas動(dòng)畫實(shí)現(xiàn)時(shí)鐘效果
- javascript+HTML5 canvas繪制時(shí)鐘功能示例
- JS+H5 Canvas實(shí)現(xiàn)時(shí)鐘效果
- JS+Canvas繪制動(dòng)態(tài)時(shí)鐘效果
- JavaScript Canvas繪制圓形時(shí)鐘效果
- js Canvas繪制圓形時(shí)鐘效果
- js Canvas實(shí)現(xiàn)的日歷時(shí)鐘案例分享
- js Canvas實(shí)現(xiàn)圓形時(shí)鐘教程
- js基于canvas實(shí)現(xiàn)時(shí)鐘組件
相關(guān)文章
js獲取元素的外鏈樣式的簡(jiǎn)單實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨s獲取元素的外鏈樣式的簡(jiǎn)單實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06js時(shí)間比較 js計(jì)算時(shí)間差的簡(jiǎn)單實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨s時(shí)間比較 js計(jì)算時(shí)間差的簡(jiǎn)單實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08一個(gè)簡(jiǎn)單的JavaScript Map實(shí)例(分享)
下面小編就為大家?guī)硪黄粋€(gè)簡(jiǎn)單的JavaScript Map實(shí)例(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08JavaScript中極易出錯(cuò)的操作符運(yùn)算總結(jié)
這篇文章主要給大家介紹了關(guān)于JavaScript中極易出錯(cuò)的操作符運(yùn)算的相關(guān)資料,包括了算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符、一元運(yùn)算符以及運(yùn)算優(yōu)先級(jí)等問題,需要的朋友可以參考下2021-08-08js驗(yàn)證整數(shù)加保留小數(shù)點(diǎn)的簡(jiǎn)單實(shí)例
這篇文章主要介紹了js驗(yàn)證整數(shù)加保留小數(shù)點(diǎn)的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-12-12非常不錯(cuò)的功能強(qiáng)大代碼簡(jiǎn)單的管理菜單美化版
由于網(wǎng)盤不穩(wěn)定,很多時(shí)候文件提示找不到,幸好U盤里存了. 喜歡這3個(gè)風(fēng)格的朋友們別在PM我啦.....我把文件傳到我服務(wù)器上了..2008-07-07JS實(shí)現(xiàn)的Unicode編碼轉(zhuǎn)換操作示例
這篇文章主要介紹了JS實(shí)現(xiàn)的Unicode編碼轉(zhuǎn)換操作,結(jié)合完整實(shí)例形式分析了javascript實(shí)現(xiàn)Unicode編碼轉(zhuǎn)換的具體操作技巧,需要的朋友可以參考下2017-04-04關(guān)于微信上網(wǎng)頁圖片點(diǎn)擊全屏放大效果
這篇文章主要介紹了關(guān)于微信上網(wǎng)頁圖片點(diǎn)擊全屏放大效果的相關(guān)資料,需要的朋友可以參考下2016-12-12