-
[JavaScript/VanillaJS] ๋ง์ฐ์ค ํ ์ด๋ฒคํธ (a.k.a window.onmousewheel)javascript 2019. 4. 9. 15:56
ํฌ์คํ ์ ์์ ๋งํฌ ํ๋๋ฅผ ์ ๊ณ ์์ํ๊ฒ ์ต๋๋ค.
์ง์ฅ์ธ์ด ์์๋๋ฉด ์ข์ ๋ฒํ ์น ์ฑ์ ๋๋ค.
์ด ์น ์ฑ์ ๋ณด๋ฉฐ ์ ๋ ์กด๋ฒ๋ฅผ ํ๊ณ ์์ต๋๋ค. (์ธ์ ์ฏค ํด์ฌ๋ฅผ.. ์์..!)
๋ณด๋ค๋ณด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ด Vanilla JS๋ก๋ง ํด๋ก ์ฝ๋ฉ์ ํด๋ณด๊ณ ์ถ์ ๋ง์์ด ๋ค์์ต๋๋ค. (๋น์ ๊ณต๊ฐ์ชผ๋ ์ ์ ๊ฐ๋ฐ์ํ๋ณ์๋ฆฌ๋ผ์ ์ฑ์ฅํด์ผํ๋ค..!)
ํด๋ก ์ฝ๋ฉ์ ์์ํด๋ณด์ ๋ง์๋จน๊ณ ์ค์ฒ์ ์ฎ๊ธฐ์๋ง์ ๋๊ด์ ๋ถ๋ชํ๋๋ฐ
ํ ๋ง์ผ๋ก ํ์ด์ง ์ ํ์ด ๋๊ธธ๋ ์ ๊ธฐํด์ ์ข ๋ฏ์ด๋ดค๋๋ฐ ํ์ด์ง ์ ํ์ด ์๋๋ผ div ์ด๋์ด์์ต๋๋ค.
(์ฐจ๋ผ๋ฆฌ ํ์ด์ง ์ ํ์ธ๊ฒ ๋ง์์ ํธํ ๊ฒ ๊ฐ๋คใ ใ )
ํ .. ํด๋ก ์ฝ๋ฉ์ ๋๋ด๊ณ ํฌ์คํ ์ ํ๋๊ฒ ์๋๋ผ!
์ค๊ฐ ์ค๊ฐ ์์ง๋ง์๋ ์๋ฏธ๋ก
์๋ ์ ๊ณ ์๋ฅ์๊ณ ๊ธ๋ฐฉ ํ๊ณ ์ง๋๊ฐ ์ ์๋ ํฌ์คํ ์ ํ๊ธด ํ์ง๋ง ๋ถ์กฑํ ๊ฒ์ด ๋๊ปด์ง๋ฉด ๊ฐ๊ฐ์์ด ํด๋ก ์ฝ๋ฉ์ ์ค๋จํ๊ณ ๋ถ์กฑํ ๋ถ๋ถ์ ์ฑ์ฐ๊ณ ๋์์ฌ ์๊ฐ์ ๋๋ค.
console.dir์ ๋นจ๊ฐ ๋ค๋ชจ๋ฅผ ํด๋ ์ด์ ๋ ์ ๋ง log๋งํผ ๋์๊ฒ ๋ง์ ๊ฒ์ ์๋ ค์ฃผ๋ ๊ณ ๋ง์ด ๋ ์์ด๋ผ ๊ฐ์กฐ ํ์๋ฅผ ํ์ต๋๋ค.
์ ์ธ์๋ก ๋ญ๊ฐ ๋ค์ด์ค๋์ง console.log๋ก ๋ดค๋ค๋ฉด ์ด ์ธ์๊ฐ ๋ฌด์์ ๊ฐ๊ณ ์๋์ง๋ console.dir๋ก ํ์ธํ ์ ์์ต๋๋ค.
(log๋ก๋ ์ถฉ๋ถํ ํ์ธํ ์ ์๋ค...)
์ฌ์ค ์ง๊ธ๋ ํ ๋ก div๋ฅผ ์ด๋ํ๋ ๊ฒ์ ์์ฑ ๋ชปํ์ต๋๋ค..
๊ตฌ๊ธ๋ง์ ํ๋ฉด jQuery๋ก ๋ณต๋ถํด๋ ๋ ์ ๋๋ก ์ ์ค๋ช ๋ ์๋ฃ๋ ๊ณง ์ ๋ดค๋๋ฐ
๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ด ํ๋ ค๋ ๋ง๋งํ๋ค์.
์ผ๋จ document์ onmousewheel์ด ์๋๋ณด๋ค vscode์์ ctrl + space๋ฅผ ํ๋ฉด ์๋์จ๋ค!
window์ ๋์จ๋ค! ๊ณ ๋ง๊ฒ๋.
wheel event๋ฅผ console.dir๋ก ๋ณด๋ฉด onmousewheel์ ๋ด๊ธด ์์๋ค์ ํ์ธํ ์ ์์ต๋๋ค.
jQuery๋ก div ์ด๋ํ๋ ์๋ฃ๋ค์ ์ฐธ๊ณ ํ๋ค๊ฐ ๋ณด๋ Delta๋ ๋ ์์ ์ฐพ์๊ณ
ํ์ธ์ฐจ if์กฐ๊ฑด๋ฌธ์ผ๋ก ํ์ธํ์์ต๋๋ค.
if(e.wheelDelta === -120){ console.log('wheel down'); } else { console.log('wheel up'); }
์ด ์กฐ๊ฑด๋ฌธ์ ๊ฑธ๊ณ ๋ธ๋ผ์ฐ์ (ํฌ๋กฌ)์์ ํ์ธํ์ต๋๋ค.
ํํ~
๋ง์กฑ์ค๋ฝ๋ค.
Vanilla JS ๋ง์ผ๋ก wheel event๋ฅผ ์ฌ์ฉํ์ฌ div ์ด๋ํ๊ธฐ์ ํ๊ฑธ์ ๋ ๋์๊ฐ์ต๋๋ค.
jerry๋ ์ฑ์ฅ์ค.
(์ฐ์ฉ- ๋ฉํธ ์ญ๊ฒน๋ค. ใ ใฑในใ )
'javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ