์๋ฐ์คํฌ๋ฆฝํธ ๋ง์ผ๋ก ์๋ ๋ก๊ทธ ์๊ณ ๋ง๋ค์ด๋ณด๊ธฐ๋ฅผ ์งํํ๋ค.
๋จผ์ ์๋ ๋ก๊ทธ ์๊ณ๋ฅผ ๋ง๋ ๋ค ๋ฐ๋ก ๋์งํธ ์๊ณ๋ ์ถ๊ฐํด์คฌ๋ค.
์๊ฒ ๋ ์
- CSS์ ์์ฑ ์ค transform-origin ์ผ๋ก transform์ ๊ธฐ์ค์ ์ ์ก์ ์ ์๋ค.
- ์นจ์ ์กฐ์ ํ๋ ๊ฐ๋๋ฅผ ์ง์ ํ๋ ๋ฐฉ์์ ์ฌ๋ฌ๊ฐ์ง.
์ฒซ ๋ฒ์งธ ์ด์
์ฒ์์ 12์ ๋ฐฉํฅ์ผ๋ก ๋ชจ๋ ์นจ์ ๊ณ ์ ์ํค๊ธฐ ์ํด rotate๋ฅผ 90๋๋ก ์ค์ ํด์ฃผ์๋๋,
12์ ๋ฐฉํฅ์ ๋์ฐฉํ ๋ ๋ง๋ค transform์ด ์๋ํ๊ฒ ์์ง์๋ค๊ฐ ๋ค์ ๋์์ค๋ ๊ฒ์ ๋ณผ ์ ์์๋ค.
(๋๋ฌด ๋นจ๋ผ์ ์บก์ณ ๋ถ๊ฐ๋ฅ..)
์ด๊ฑด ์๋ง 444๋ ๊น์ง ๋์ด๋ฌ๋ค๊ฐ ๊ธ๊ฒฉํ๊ฒ 90๋๋ก ๋ณ๊ฒฝ๋๋ฉฐ ์๊ธฐ๋ ๋ฌธ์ ๊ฐ์๋ค.
๊ทธ๋์ ์๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ชจ๋ ์นจ์ด 12์ ๋ฐฉํฅ์ ๋๋ฌํ์ ๋ transition ์๋๋ฅผ ์ ์ ์กฐ์ ํด์ฃผ๋ ๊ฒ์ผ๋ก ํด๊ฒฐ.
if (seconds === 0) {
secondHand.style.transitionDuration = '0s';
}
๋ ๋ฒ์งธ ์ด์
๋์งํธ ์๊ณ์ ๋ฉ์ง ํฐํธ๋ฅผ ์ ์ฉํ์ผ๋ ์น๋ช ์ ์ธ ๋จ์ ์ ๋ฐ๊ฒฌํ๋ค.
gif ๋ณํ์ด ์๋ชป๋๊ฑด์ง ๋งค์ฐ ๋๋ ค์ ๋นํฉ์ค๋ฝ์ง๋ง...
์ด๊ฐ ์นด์ดํธ ๋ ๋๋ง๋ค ์ซ์๊ฐ ์ข์ฐ๋ก ์์ง์ด๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ฌํ ๊ฑฐ์ฌ๋ฆฐ๋ค...
์ฐพ๋ค๋ณด๋ ์ด๊ฒ์ ์ด ํฐํธ๊ฐ ๊ฐ๋ณํฐํธ์ด๋ค ๋ณด๋ ๋ฐ์ํ ๋ฌธ์ ๋ก ์ฝ๋๋ก ์ ์ธ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ๋ค.
๊ทธ๋์ ๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ์ฑ ์ธ ํฐํธ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ๋ก ๊ฒฐ์ !..
๊ฐ ๋ฌธ์์ ํญ์ด ์ผ์ ํ monospace ๊ณ์ด ํฐํธ๋ก ๋ณ๊ฒฝํด์ฃผ์๋ค.
์๊ฐ๋ ์ข ์์ ํด์ฃผ๋ ํธ์ํด์ก๋ค. ๐
๊ฐ๋จํ ์๊ณ ๋ง๋ค๊ธฐ์๋ค.
๋์ํ๋ ๋ชจ์ต์ ์๋์์ ํ์ธ ๊ฐ๋ฅํ๋ค.
https://yujleee.github.io/jsChallenge30/02-Clock/index.html
'๐ Studying > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JavaScript 30 Challeneges - Console Tricks (0) | 2022.06.10 |
---|---|
[JavaScript] classList ํ๋กํผํฐ (0) | 2022.06.06 |
[JavaScript] ์ด๋ฒคํธ ์ ํ bubbling, capturing (3) | 2022.04.28 |
[JavaScript] ํ๋ก๋ฏธ์ค์ ๋ํด ์์๋ณด์ Promise (3) | 2022.04.27 |
[JavaScript] Fetch API ์ฌ์ฉํด๋ณด๊ธฐ (JSONplaceholder) (3) | 2022.04.26 |
Comment