JS+H5 Canvas實現(xiàn)時鐘效果
用JavaScript+Canvas來實現(xiàn)最簡單的時鐘效果,供大家參考,具體內(nèi)容如下
效果圖:

先看html代碼:
<html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/demo3.js" ></script> </head> <body> <canvas id = "canvas"></canvas> </body> </html>
JavaScript代碼:
var canvas,context;
function draw(){//定義劃時鐘的方法
var data = new Date();
var hHoure = data.getHours();
var mMin = data.getMinutes();
var sSec = data.getSeconds();
var hValue = (hHoure*30+mMin/2-90)*Math.PI/180;
var mValue = (mMin*6-90)*Math.PI/180;
var sValue = (sSec*6 -90)*Math.PI/180;
var x = 200,y = 200,r = 150;
context.clearRect(0,0,canvas.width,canvas.height);
context.moveTo(x,y);
context.arc(x,y,r,0,6*Math.PI/180,false);
//
context.beginPath();
context.lineWidth = 1;
for(var i = 0;i<60;i++){
context.moveTo(x,y);
context.arc(x,y,r,6*i*Math.PI/180,6*(i+1)*Math.PI/180,false);
}
context.closePath();
context.stroke();
//
context.beginPath();
context.fillStyle = "white";
context.moveTo(x,y);
context.arc(x,y,r/1.1,-0,2*Math.PI,false);
context.closePath();
context.fill();
//
context.beginPath();
context.lineWidth = 3;
for(var i = 0;i<12;i++){
context.moveTo(x,y);
context.arc(x,y,r,30*i*Math.PI/180,30*(i+1)*Math.PI,false);
}
context.closePath();
context.stroke();
//
context.beginPath();
context.fillStyle = "white";
context.moveTo(x,y);
context.arc(x,y,r/1.12,0,2*Math.PI,false);
context.closePath();
context.fill();
context.beginPath();
context.fillStyle = "black";
context.moveTo(x,y);
context.arc(x,y,r/30,0,2*Math.PI,false);
context.fill();
//
context.beginPath();
context.lineWidth = 5;
context.moveTo(x,y);
context.arc(x,y,r/2.5,hValue,hValue,false);
context.stroke();
//
context.beginPath();
context.lineWidth = 3;
context.moveTo(x,y);
context.arc(x,y,r/2,mValue,mValue,false);
context.stroke();
//
context.beginPath();
context.lineWidth = 2;
context.moveTo(x,y);
context.arc(x,y,r/1.6,sValue,sValue,false);
context.stroke();
}
window.onload = function(){
canvas = document.getElementById('canvas');
context = canvas.getContext('2d');
canvas.height = 500;
canvas.width = 500;
setInterval(draw,1000);
draw();
}
更多JavaScript時鐘特效點擊查看:JavaScript時鐘特效專題
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS通過ajax + 多列布局 + 自動加載實現(xiàn)瀑布流效果
這篇文章主要介紹了JS通過ajax + 多列布局 + 自動加載來實現(xiàn)瀑布流效果,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05
JavaScript計算字符串中每個字符出現(xiàn)次數(shù)的小例子
這篇文章介紹了在JS中計算字符串中每個字符出現(xiàn)的次數(shù),有需要的朋友可以參考一下2013-07-07
JavaScript創(chuàng)建對象的幾種方式及關(guān)于this指向問題
這篇文章主要介紹了JavaScript創(chuàng)建對象的幾種方式及關(guān)于this指向問題,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值。需要的小伙伴可以參考一下2022-07-07
Bootstrap DateTime Picker日歷控件簡單應(yīng)用
這篇文章主要介紹了Bootstrap DateTime Picker日歷控件的簡單應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
javascript window.confirm確認(rèn) 取消對話框?qū)崿F(xiàn)代碼小結(jié)
本文章講述的三種都是基于了javascript confirm提示確認(rèn)框的做法了,只是在不同的地方寫哦,有需要的同學(xué)可參考一下2012-10-10

