Аналоговые часы с HTML5 Canvas и JavaScript »WebNots

Элемент HTML5 Canvas используется для хранения графики, нарисованной с помощью JavaScript. Тег Canvas используется только для хранения элемента в качестве заполнителя или контейнера. Фактическая графика нарисована с помощью JavaScript. В этой статье мы нарисуем простые аналоговые часы с помощью JavaScript и разместим их на странице с контейнером Canvas.

Аналоговые часы с холстом HTML5 и JavaScript

Это простой виджет часов с указателем часов, минут и секунд. Время начнется согласно времени вашего компьютера, когда виджет загружен. Виджет аналоговых часов состоит из двух частей — JavaScript и контейнера Canvas. Посмотреть демонстрацию работающих часов можно здесь.

JavaScript для аналоговых часов

JavaScript используется для создания круга, указателей, времени и движений указателя, как показано ниже. Математические вычисления используются для разделения окружности на 360 градусов, чтобы указатели вращались соответствующим образом.

<script type="text/JavaScript">
x=150;
y=150;
clock=document.getElementById("canvas");
ctx=clock.getContext("2d");

function loop()
{
time=new Date();
h=time.getHours();
m=time.getMinutes();
s=time.getSeconds();

ctx.beginPath();
ctx.fillStyle="white";
ctx.arc(x,y,140,0,Math.PI*2,true);
ctx.fill();
ctx.strokeStyle="red";
ctx.lineWidth=10;
ctx.stroke();
drawNumber();

drawPointer(360*(h/12)+(m/60)*30-90,70,"black",10);
drawPointer(360*(m/60)+(s/60)*6-90,100,"black",10);
drawPointer(360*(s/60)+x-90,120,"red",2);
}

function drawNumber()
{
for(n=0;n<12;n++)
{
d=-60;
num = new Number(n+1);
str = num.toString();
dd = Math.PI/180*(d+n*30);
tx = Math.cos(dd)*120+140;
ty = Math.sin(dd)*120+160;
ctx.font = "26px Verdana";
ctx.fillStyle = "brown";
ctx.fillText(str, tx, ty);
}
}

function drawPointer(deg,len,color,w)
{
rad=(Math.PI/180*deg);
x1=x+Math.cos(rad)*len;
y1=y+Math.sin(rad)*len;

ctx.beginPath();
ctx.strokeStyle=color;
ctx.lineWidth=w;
ctx.moveTo(x,y);
ctx.lineTo(x1,y1);
ctx.stroke();
}
setInterval(loop,500);

</script>

Вы можете использовать этот сценарий на странице с тегами .

HTML для аналоговых часов

Ниже приведен HTML-код аналоговых часов для создания контейнера холста. Вы можете вставить этот код в любое место на своей странице.

<center>
<canvas id="canvas" width="300" height="300"></canvas>
</center>

Настройка виджета

Аналоговые часы можно настроить с помощью следующих параметров:

  • Измените цвет и длину указателей часов, минут и секунд на любое необходимое значение, определенное с помощью функции drawPointer.
  • Измените размер и шрифт чисел, определенных с помощью «ctx.font =« 26px Verdana »;».
  • Цвет цифр внутри часов определяется как коричневый с помощью «ctx.fillStyle =« brown »;» который можно изменить на любой цвет.

Посмотреть демонстрацию аналоговых часов

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *