반응형
.hand {
width: 50%;
height: 6px;
background: black;
position: absolute;
top: 50%;
transform-origin: 100%;
transform: rotate(90deg);
transition: all 0.05s;
transition-timing-function: cubic-bezier(0.1, 2.7, 0.58, 1);
CSS에 transform-origin: 100%부터 넣어줬다.
<script>
const secondHand = document.querySelector('.second-hand');
const minsHand = document.querySelector('.min-hand');
const hourHand = document.querySelector('.hour-hand');
function setDate() {
const now = new Date();
const seconds = now.getSeconds();
const secondsDegrees = ((seconds / 60) * 360) + 90;
secondHand.style.transform = `rotate(${secondsDegrees}deg)`;
const mins = now.getMinutes();
const minsDegrees = ((mins / 60) * 360) + ((seconds/60)*6) + 90;
minsHand.style.transform = `rotate(${minsDegrees}deg)`;
const hour = now.getHours();
const hourDegrees = ((hour / 12) * 360) + ((mins/60)*30) + 90;
hourHand.style.transform = `rotate(${hourDegrees}deg)`;
}
setInterval(setDate, 1000);
setDate();
</script>
화면에서 시계가 움직이도록 설정해 주는 프로젝트였다.
각각 초, 분, 시간을 구하고 값을 넣어주어 동작시켰다.
반응형
'챌린지 > JavaScript 30일 챌린지' 카테고리의 다른 글
[JavaScript 30일 챌린지] : 6일차 (0) | 2022.02.02 |
---|---|
[JavaScript 30일 챌린지] : 5일차 (0) | 2022.02.01 |
[JavaScript 30일 챌린지] : 4일차 (0) | 2022.01.31 |
[JavaScript 30일 챌린지] : 3일차 (0) | 2022.01.30 |
[JavaScript 30일 챌린지] : 1일차 (0) | 2022.01.28 |
댓글