一個(gè)簡易時(shí)鐘效果js實(shí)現(xiàn)代碼
本文實(shí)例為大家分享了js時(shí)鐘特效 的具體代碼,供大家參考,具體內(nèi)容如下

js代碼
var canvas = document.getElementById("clock");
var clock = canvas.getContext("2d");
function zhong() {
clock.save();
//開始畫外層圓
clock.translate(200, 200);
clock.strokeStyle = 'black';
clock.lineWidth = 3;
clock.beginPath();
clock.arc(0, 0, 195, 0, 2 * Math.PI);
clock.stroke();
//時(shí)鐘上的數(shù)字
var shuzi = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2];
clock.font = "30px Arial";
clock.textAlign = "center";
clock.textBaseline = "middle";
shuzi.forEach(function(number, i) {
var rad = 2 * Math.PI / 12 * i;
var x = Math.cos(rad) * 180;
var y = Math.sin(rad) * 180;
clock.fillText(number, x, y);
});
// 小圓點(diǎn)
for(j = 0; j < 60; j++) {
var h = 2 * Math.PI / 60 * j;
var m = Math.cos(h) * 180;
var n = Math.sin(h) * 180;
clock.fillStyle = 'black';
clock.beginPath();
if(j % 5 === 0) {
continue;
}
clock.arc(m, n, 3, 0, 2 * Math.PI);
clock.fill();
}
}
function drawHour(hour,min) {
clock.save();
var rad = 2 * Math.PI / 12 * hour;
var red = 2 *Math.PI/12/60*min;
clock.rotate(rad+red);
clock.lineWidth = 10;
clock.lineCap = "round";
clock.beginPath();
clock.moveTo(0, 5);
clock.lineTo(0, -100);
clock.stroke();
clock.restore();
}
function drawmin(min) {
clock.save();
var rad = 2 * Math.PI / 60 * min;
clock.rotate(rad);
clock.lineWidth = 5;
clock.lineCap = "round";
clock.beginPath();
clock.moveTo(0, 10);
clock.lineTo(0, -150);
clock.stroke();
clock.restore();
}
function drawsec(sec) {
clock.save();
var rad = 2 * Math.PI / 60 * sec;
clock.rotate(rad);
clock.lineWidth = 2;
clock.lineCap = "round";
clock.strokeStyle = "red";
clock.beginPath();
clock.moveTo(0, 10);
clock.lineTo(0, -180);
clock.stroke();
clock.restore();
}
function dian() {
clock.fillStyle = "white";
clock.beginPath();
clock.arc(0, 0, 2, 0, 2 * Math.PI);
clock.fill();
}
function xuanzhuan() {
clock.clearRect(0,0,400,400);
zhong();
var now = new Date();
var hour = now.getHours();
var min = now.getMinutes();
var sec = now.getSeconds();
drawHour(hour,min);
drawmin(min);
drawsec(sec);
dian();
clock.restore();
}
xuanzhuan();
setInterval(xuanzhuan, 1000);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實(shí)現(xiàn)一個(gè)簡單的數(shù)字時(shí)鐘效果
- JavaScript實(shí)現(xiàn)抖音羅盤時(shí)鐘
- html5 canvas js(數(shù)字時(shí)鐘)實(shí)例代碼
- 五步輕松實(shí)現(xiàn)JavaScript HTML時(shí)鐘效果
- JavaScript實(shí)現(xiàn)簡單的時(shí)鐘實(shí)例代碼
- 基于javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果
- Javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果
- javascript入門·動(dòng)態(tài)的時(shí)鐘,顯示完整的一些方法,新年倒計(jì)時(shí)
- js時(shí)鐘翻牌效果實(shí)現(xiàn)代碼分享
- JavaScript實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁時(shí)鐘
相關(guān)文章
基于Bootstrap的后臺(tái)管理面板 Bootstrap Metro Dashboard
這篇文章主要介紹了基于Bootstrap的后臺(tái)管理面板:Bootstrap Metro Dashboard,對Bootstrap的后臺(tái)管理面板感興趣的小伙伴們可以參考一下2016-06-06
JavaScript實(shí)現(xiàn)簡單的拖動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單的拖動(dòng)效果,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2016-07-07
基于Echarts實(shí)現(xiàn)繪制立體柱狀圖的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何基于Echarts實(shí)現(xiàn)繪制立體柱狀圖的功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2023-02-02
Javascript實(shí)現(xiàn)秒表計(jì)時(shí)游戲
這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)秒表計(jì)時(shí)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05
使用JavaScript實(shí)現(xiàn)一個(gè)簡單的待辦事項(xiàng)列表todo-list
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript實(shí)現(xiàn)一個(gè)簡單的待辦事項(xiàng)列表todo-list,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-04-04
js實(shí)現(xiàn)獲取焦點(diǎn)后光標(biāo)在字符串后
這篇文章主要介紹了js實(shí)現(xiàn)獲取焦點(diǎn)后光標(biāo)在字符串后,原理就是獲得焦點(diǎn)后重新把自己復(fù)制粘帖一下,喜歡的朋友可以看看2014-09-09

