您好,登錄后才能下訂單哦!
本篇文章為大家展示了教你使用js+canvas寫一個(gè)時(shí)鐘效果,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
使用js和canvas寫一個(gè)時(shí)鐘,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>` <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <canvas id='canvas' width='600' height='600' ></canvas> <script> /** @type {HTMLCanvasElement} */ let canvas = document.querySelector("#canvas"); let ctx = canvas.getContext("2d"); let deg = Math.PI / 180; let HourR = 100; let MinutesR = 135; let SecondsR = 170; setInterval(function () { canvas.width = canvas.width; ctx.arc(300, 300, 200, 0, Math.PI * 2) ctx.fillStyle = 'rgba(10,100,30,0.2)' ctx.strokeStyle = 'red' //獲取當(dāng)前時(shí)間 let dt = new Date() let Hour = dt.getHours() let Minutes = dt.getMinutes() let Seconds = dt.getSeconds() //時(shí)鐘 ctx.moveTo(300, 300); let xx = HourR * (Math.sin(Hour * 30 * deg)) let yy = HourR * (Math.cos(Hour * 30 * deg)) ctx.lineTo((300 + xx), (300 - yy)) //分鐘和秒鐘 function move(time, R) { ctx.moveTo(300, 300); xx = R * (Math.sin(time * 6 * deg)) yy = R * (Math.cos(time * 6 * deg)) ctx.lineTo((300 + xx), (300 - yy)) } //小時(shí)指針 for (let m = 0; m < 12; m++) { let xx = 190 * (Math.sin(m * 30 * deg)) let yy = 190 * (Math.cos(m * 30 * deg)) let xx1 = 200 * (Math.sin(m * 30 * deg)) let yy1 = 200 * (Math.cos(m * 30 * deg)) ctx.moveTo((300 + xx), (300 - yy)); ctx.lineTo((300 + xx1), (300 - yy1)) } move(Seconds, SecondsR) move(Minutes, MinutesR) ctx.fill() ctx.stroke() }, 1000) </script> </body> </html>
上述內(nèi)容就是教你使用js+canvas寫一個(gè)時(shí)鐘效果,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。