간단 한 시계 효과 js 구현 코드
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();
//
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);
});
//
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);
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.