Hye, je suis nouveau sur la toile. J'ai un problème avec mon horloge. A chaque appel de la fonction workinghands() par setInterval, les aiguilles de l'horloge sont en avance mais les aiguilles précédentes ne sont pas supprimées. Je veux enlever les mains répétées sur l'horloge. À l'image de l'horloge, vous verrez ce que je veux. Non seulement la longue main se répète mais aussi les deux autres mains. click the link to view image of clockEnlever les aiguilles d'horloge répétées en utilisant l'intervalle défini dans la toile
function workingHands(context)
{
var date = new Date();
var second = date.getSeconds();
var minute = date.getMinutes();
var hour = date.getHours() % 12;
second = second * Math.PI/30;
drawHands(context, second, 125, 2);
second = date.getSeconds();
minute = (second * Math.PI/(1800)) + (minute * Math.PI/30);
drawHands(context, minute, 100, 5);
second = date.getSeconds();
minute = date.getMinutes();
hour = (second * Math.PI/(10800)) + (minute * Math.PI/1800) + (hour * Math.PI/6)
drawHands(context, hour, 50, 10);
}
function drawHands(context, angle, length, width)
{
context.translate(18, -7);
context.beginPath();
context.moveTo(0, 0);
context.rotate(angle);
context.lineTo(0, -length);
context.lineWidth = width;
context.lineCap = "round";
context.stroke();
context.rotate(-angle);
context.translate(-18, 7);
}
function clockFace(context)
{
context.beginPath();
context.arc(centerX, centerY, 140, 0, 2 * Math.PI);
context.strokeStyle = "black";
context.lineWidth = "10";
context.stroke();
context.closePath();
context.beginPath();
context.arc(centerX, centerY, 5, 0, 2 * Math.PI);
context.fill = "black";
context.stroke();
context.translate(centerX, centerY);
decorClock(context);
numbers(context);
}
clockFace(context);
setInterval(workingHands, 1000, context);