>  기사  >  웹 프론트엔드  >  JS+HTML로 시계 애니메이션 만들기

JS+HTML로 시계 애니메이션 만들기

php中世界最好的语言
php中世界最好的语言원래의
2018-04-14 15:25:192237검색

이번에는 시계 애니메이션을 만들기 위한 JS+HTML을 가져오겠습니다. JS+HTML로 시계 애니메이션을 만들 때의 노트는 무엇인가요?

관련된 지식 포인트는 다음과 같습니다: CSS3 애니메이션, DOM 작업, 타이머, 도트 좌표 계산(많은 사람들이 이미 선생님에게 돌려주었습니다~)
다음으로 5단계를 사용하여 만듭니다

1단계, HTML 준비

먼저 HTML 구조, 배경, 다이얼, 바늘(시침, 분침, 초침), 숫자를 준비해야 합니다.

rreee

2단계, CSS 준비

포인터의 색상과 크기를 정의합니다. 설명해야 할 것은 포인터를 회전하는 데는 변환: 회전(-90deg); 은 회전 중심점을 설정하는 데 사용된다는 것입니다.

rreee

3단계, 시침 위치 계산

JS는 Date 객체를 통해 현재 시간을 얻고, getHours는 시간을 얻고, getMinutes는 분을 얻고, getSeconds는 초를 얻습니다. 시침은 12눈금에 1번 회전하며, 각 눈금의 각도는 360°/12이며, 분과 초는 모두 60눈금이며, 각 눈금의 각도는 360°/60입니다.

rreee

step4, 시계가 돌아가는 중

setInterval을 통해 타이머를 설정하고 매초 새로 고칩니다. 초기화는 한 번 실행해야 합니다. 그렇지 않으면 1초 후에 효과가 표시됩니다.

rreee

step5, 디지털 시간 그리기

디지털 시간도 원 위에 있습니다. 반경을 결정한 다음 반경의 좌표를 얻으면 됩니다. 각 숫자를 왼쪽에 배치하면 됩니다. 원형 좌표계의 계산 규칙을 ​​살펴보세요:

五步轻松实现JavaScript HTML时钟效果

* 원 반경 좌표 계산:
* x = pointX + r*cos(angle);
* y = pointY + r*sin(angle)
그러나 우리가 계산하는 좌표는 호 위의 점 좌표입니다. 위치를 지정할 때 각 숫자는 요소의 왼쪽 상단을 기준으로 배치되므로 숫자가 오프셋됩니다. 즉, 숫자의 중심점이 호 위에 있지 않습니다. 해결책은 좌표점(x, y)을 그 자체의 절반(x-w/2, y-h/2)
으로 변환하여 중심점이 되도록 하는 것입니다. 숫자의 호에 있습니다.

rreee

완전한 JS 코드:

<p id="clock">
 <p class="bg">
  <p class="point">
   <p id="hour"></p>
   <p id="minute"></p>
   <p id="second"></p>
   <p class="circle"></p>
  </p>
 </p>
< /p>

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

Vue2.0에서 전역 스타일을 설정하는 단계에 대한 자세한 설명

js 범위 사용에 대한 자세한 설명

Emergence.js 플러그인 사용에 대한 자세한 설명

위 내용은 JS+HTML로 시계 애니메이션 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.