Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
function drawAnalogClock(ctx, radius, date) {
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
ctx.save();
ctx.translate(radius, radius);
// Face
ctx.beginPath();
ctx.arc(0, 0, radius - 5, 0, 2 * Math.PI);
ctx.fillStyle = '#f0f0f0';
ctx.fill();
ctx.lineWidth = 4;
ctx.stroke();
// Numbers
ctx.font = radius * 0.15 + "px Arial";
ctx.textBaseline = "middle";
ctx.textAlign = "center";
for (let num = 1; num <= 12; num++) {
let ang = num * Math.PI / 6;
ctx.rotate(ang);
ctx.translate(0, -radius * 0.85);
ctx.rotate(-ang);
ctx.fillText(num.toString(), 0, 0);
ctx.rotate(ang);
ctx.translate(0, radius * 0.85);
ctx.rotate(-ang);
}
// Time
let hour = date.getUTCHours();
let minute = date.getUTCMinutes();
let second = date.getUTCSeconds();
// Hour hand
hour = hour % 12;
hour = (hour * Math.PI / 6) + (minute * Math.PI / (6 * 60));
drawHand(ctx, hour, radius * 0.5, 6);
// Minute hand
minute = (minute * Math.PI / 30) + (second * Math.PI / (30 * 60));
drawHand(ctx, minute, radius * 0.75, 4);
// Second hand
second = (second * Math.PI / 30);
drawHand(ctx, second, radius * 0.85, 2, "#D33");
ctx.restore();
}
function drawHand(ctx, pos, length, width, color = "#000") {
ctx.beginPath();
ctx.lineWidth = width;
ctx.lineCap = "round";
ctx.strokeStyle = color;
ctx.moveTo(0,