๐ ์ค๋ ํ ์ผ
โ๏ธ ๊ณ์ฐ๊ธฐ ์์ฑํ๊ธฐ (~Nightmare1)
ํค๋ณด๋๋ก ์ ๋ ฅ๋ฐ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ ๊ณ์ฐ๊ธฐ๋ฅผ ์์ฑํ๋ค!! ๋ง์ฐ์ค๋ก ํด๋ฆญํ์ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก addEventListener๋ฅผ ์ด์ฉํ๋๋ฐ, ๋ง์ฐ์ค๋ click ์ด๋ฒคํธ๋ฅผ ์ด์ฉํ์ง๋ง ์ด๋ฒ์๋ ํค๋ณด๋ ์ ๋ ฅ์ ๋ฐ๊ณ ์ถ์ด์ keydown ์ด๋ผ๋ event๋ฅผ ์ฌ์ฉํ๋ค. ์ฝ๋๊ฐ ์ ์ ๊ธธ์ด์ง๊ณ ๋ณต์กํด์ง๋๊น ๋ญ๊ฐ ๋ญ์ง ๋์ค์ ๊น๋จน์ ์๋ ์์ ๊ฒ ๊ฐ์์ ์ถ๊ฐํ ๊ธฐ๋ฅ์ ๋ํ ์ค๋ช ๋ ๋ด์ผ ์ ๋ฆฌํด๋๋ ค๊ณ ํ๋ค ๐ ๊ณตํ์ฉ ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ๋ HTML ํ์ผ๋ถํฐ ๋ฏ์ด ๊ณ ์ณ์ผ ํ ๊ฒ ๊ฐ์์ ์ผ๋จ ์ง๊ธ๊น์ง ํ ๊ฒ ๋ณต์ต์ด๋ ์ ๋ฆฌ๋ถํฐ ๋๋ด๊ณ ์๊ฐ์ด ๋จ๋๋ค๋ฉด ๋์ ํด๋ด์ผ๊ฒ ๋ค..!
โ๏ธ Flex, classList ๊ฐ๋ ์ ๋ฆฌ
CSS์์ ๋ ์ด์์์ ๊ตฌ์ฑํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๋ Flex์, Javascript์์ ํน์ ํด๋์ค๋ฅผ ์ถ๊ฐ ํน์ ์ญ์ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ classList ๊ฐ๋ ์ ๋ํด ์ข ๋ ๊ฒ์ํด๋ณด๋ฉฐ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ๋ค. Flex๋ ๊ณ์ฐ๊ธฐ์์ ์์ง, ์ํ ์ค์์ ๋ ฌ์ ํ ๋ ์ฌ์ฉํ๊ณ , classList๋๋ฒํผ์ ๋ง์ฐ์ค๋ก ํด๋ฆญํ์ ๋ ๋ฒํผ์ ํ ์คํธ ์์์ด ๋ฐ๋๊ณ , ๋ค์ ๋ง์ฐ์ค๋ฅผ ๋ผ๋ฉด ์์์ด ์๋๋๋ก ๋์์ค๋๋ก ํ๋ ๋ฐ ์ฌ์ฉํ๋ค. (๋ง์ฐ์ค๋ก ํด๋ฆญํ์ ๋ isPressed๋ผ๋ ํด๋์ค๋ฅผ ์ถ๊ฐ, ๋ง์ฐ์ค๋ฅผ ๋๋ฉด isPressed ํด๋์ค๋ฅผ ์ ๊ฑฐํ๋ ์์ผ๋ก ๊ตฌํ // isPressedํด๋์ค๋ ํ ์คํธ ์์์ด ๋ฐ๋๋๋ก CSS ์คํ์ผ์ ์ ์ฉํด๋ )
โ๏ธ ์ค์ฉ์ฃผ์ ํ๋ก๊ทธ๋๋จธ ~1-2์ฅ ์ฝ๊ธฐ
ํ๋์ ์ฑ ์์ง๊ธฐ, ์ค์ํ๊ฑฐ๋ ์๋ชป๋ ํ๋จ์ ๋ด๋ ธ๋ค๋ฉด ์ ์งํ๊ฒ ์ธ์ ํ๊ณ ๋ค๋ฅธ ๋ฐฉ์์ ์ ์ํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ธฐ, ๋ถํํ๋ ๊ฒ์ ์ด๋ ค์ํ์ง ๋ง๊ณ ๋์์ด ํ์ํ๋ค๋ ์ฌ์ค ์ธ์ ํ๊ธฐ, '๊นจ์ง ์ ๋ฆฌ์ฐฝ ์ด๋ก '์ฒ๋ผ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ๋๋์ง ๋ง๊ณ ๋ฐ๊ฒฌํ์๋ง์ ๋ฐ๋ก ๊ณ ์น์!
See the Pen Calculator by kIMJUHYE (@JOOOOOHYE) on CodePen.
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ javascript์์ ๋ณ์, ๋ฐฐ์ด ๋น๊ตํ๋ ๋ฐฉ๋ฒ ๋ ์ฐพ์๋ณด๊ธฐ
ํค๋ณด๋ ์ ๋ ฅ์ ๋ฐ์ ๋ ๋ฐ์ ์ ๋ ฅ๊ฐ(keyContent)์ด +,-,*,/ ์ค ํ๋๋ฉด opeator๋ก ์ธ์ํ๊ณ ํด๋น ์ฝ๋๋ฅผ ์คํ์์ผ์ฃผ๋ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ๋๋ฐ, if(keyContent==='+' || keyContent==='-' || keyContent==='*' || keyContent==='/') ์ด๋ฐ์์ผ๋ก ์กฐ๊ฑด์ ์์ฑํ๋ ๊ฒ ๋ณด๋ค๋ operatorList = ['+','-','*','/'] ๋ผ๋ ๋ฐฐ์ด์ ์ ์ธํ๊ณ , keyContent๊ฐ์ด ์ฌ๊ธฐ์ ํฌํจ๋๋์ง ์ฌ๋ถ๋ก ์กฐ๊ฑด์ ์์ฑํ๋ ๊ฒ์ด ๋ ๋ณด๊ธฐ์๋ ์ข๊ณ ํจ์จ์ (?)์ผ ๊ฒ ๊ฐ์๋ค. ๊ทธ๋ฌ๋ค๋ณด๋ ๋ณ์์ ๋ฐฐ์ด์ ๋น๊ตํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ถ๊ธํด์ก๋ค.
โ๏ธ์ฝ๋ ๊ฐ์ ํ๊ธฐ
์ผ๋ ๋ค์ ๋ค์๋ด๋ ์์ ๋ณผ ์ ์๋๋ก ์ข ๋ ๊ฐ๊ฒฐํ๊ณ ๋ช ํํ๊ฒ ์ฝ๋๋ฅผ ์ ๋ฆฌํด์ผ๊ฒ ๋ค!
โ๏ธ ๋ ๋จ์๋ง์ ๋งฅ๋ถ ์๋ฆฌํ๋ฌ ๊ฐ๋ค๊ฐ(๊ฒฐ๊ตญ ์ค๋ ๋ชป๊ณ ์นจ) ๋ณธ๊ฐ๋ ๋ค๋ ์ค๊ณ ์ฌ๊ธฐ์ ๊ธฐ ์ด๋ํ๋๋ ํ๋ฃจ์ ๋ฐ์ด ๊ฐ๋ฒ๋ฆฐ ๋ ์ด์๋ค ๐ต
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
201215_TIL (0) | 2020.12.16 |
---|---|
201214_TIL (0) | 2020.12.15 |
201211_TIL (0) | 2020.12.12 |
201210_TIL (0) | 2020.12.10 |
201209_TIL (0) | 2020.12.10 |
๋๊ธ