๋ถ€๋“œ๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ_RequestAnimationFrame ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ

๋ฌธ์ œ window.addEventListener('scroll', () => { box.style.width = `${window.pageYOffset}px`; }); ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์Šคํฌ๋กค๋œ Window.pageYoffset๊ฐ’ ๋งŒํผ ์ž„์˜์˜ ๋ฐ•์Šค ์š”์†Œ์˜ ๊ฐ€๋กœ ๋„ˆ๋น„๋ฅผ ๋™์ ์œผ๋กœ ๋Š˜์–ด๋‚˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค. ํ™”๋ฉด์— ๋žœ๋”๋ง๋œ ์ž„์˜์˜ ๋ฐ•์Šค์˜ ๊ฐ€๋กœ ๋„ˆ๋น„๊ฐ€ ๋Š˜์–ด๋‚˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋Š” ์–ธ๋œป ๋ณด๋ฉด ์ž์—ฐ์Šค๋Ÿฌ์šด ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์Šคํฌ๋กค์„ ๋ฐฉํ–ฅํ‚ค๋ฅผ ํ†ตํ•ด ๋‚ด๋ ค๋ณธ๋‹ค๋ฉด ๋‹ค์†Œ ๋ถ€์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋Š๊ธฐ๋Š” ๊ฑฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ requestAnimationFrame์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ๊ตฌํ˜„ํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค. requestAnimationFrame https://developer.mozilla.org/ko/docs/..

JS 2021. 10. 9. 00:20
์š”์†Œ์˜ ๋™์ ์ธ ์œ„์น˜๊ฐ’์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์Šคํฌ๋กค์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ_element.scrollintoView()

๋ฌธ์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ์„ JS ์ƒ์—์„œ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€๋˜๊ฒŒ๋” ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ์ด ํ˜„์žฌ ์ƒ์œ„ ์š”์†Œ์˜ view๋ฅผ overflowํ•˜๊ฒŒ ๋˜๋ฉด ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ํ•ญ๋ชฉ์œผ๋กœ ์Šคํฌ๋กค ๋ทฐ๊ฐ€ ์ž๋™์œผ๋กœ ๋งž์ถฐ์ง€์ง€ ์•Š๋Š” UX์ ์œผ๋กœ ๋ถˆํŽธํ•จ์ด ๋ฐœ์ƒํ•˜์˜€๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ฒ˜์Œ์—๋Š” scrollElement์˜ scrollTop์˜ ์ƒ๋Œ€์  ์œ„์น˜ ๊ฐ’์„ ์ด์šฉํ•˜์˜€์ง€๋งŒ ์ด๋ณด๋‹ค ๋” ๊ฐ„ํŽธํ•˜๊ฒŒ ํŠน์ • ์š”์†Œ ์œ„์น˜๋กœ ์Šคํฌ๋กค ๋ทฐ๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์–ด ํฌ์ŠคํŒ…ํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋ฌธ์ œํ•ด๊ฒฐ_element.scrollintoView() https://developer.mozilla.org/ko/docs/Web/API/Element/scrollIntoView element.scrollIntoView - Web API | MDN Element ์ธํ„ฐ..

JS 2021. 9. 7. 18:51
๋ณ„์  UI

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ„์ ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” Rating UI๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋ณ„์  Container์™€ ๋งˆ์šฐ์Šค Position ๊ฐ€์ ธ์˜ค๊ธฐ ํ˜„์žฌ ๋ณ„์  UI๋ฅผ ๋žฉํ•‘ํ•˜๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๊ฐ€ stars์ธ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ขŒ์ธก์œผ๋กœ ์–ผ๋งˆ๋งŒํผ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€์™€ ๋งˆ์šฐ์Šค ์ปค์„œ์˜ ํ˜„์žฌ ์œ„์น˜ ๊ฐ’์„ ์•Œ์•„์•ผ์ง€ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ํ˜„์žฌ ๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ์–ผ๋งˆ๋งŒํผ ์ด๋™ํ–ˆ๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ํ˜„์žฌ ๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ์ด๋™ํ•œ ๋น„์œจ์ด ๋ณ„์  0.5์  ๋‹จ์œ„๋กœ ๊ณ„์‚ฐ๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด star ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ๋ณ„์  ๊ฐ€๋กœ ๋„ˆ๋น„/2์˜ ๊ฐ’์„ ํ™•์ธํ•ด์•ผ ๋œ๋‹ค. MouseEvent ์ธํ„ฐํŽ˜์ด์Šค์˜ clientX ์ฝ๊ธฐ ์ „์šฉ ์†์„ฑ์€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ viewport ๋‚ด์— ์ˆ˜ํ‰ ์ขŒํ‘œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค(ํŽ˜์ด์ง€ ๋‚ด์˜ ์ขŒํ‘œ์™€๋Š” ๋ฐ˜๋Œ€) const calculateSco..

JS 2021. 8. 28. 14:36
๋ฐฑ์ค€ node.JS ์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ

๋ฐฑ์ค€์—์„œ JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ๋  ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž…๋ ฅ์— ๊ด€ํ•œ ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋‚˜ LeetCode ํ”Œ๋žซํผ ๋“ฑ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํŒŒ์ผ์„ ์ฝ์–ด์„œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ์‚ฌ์ „ ์„ค์ • ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋ฐฑ์ค€์—์„œ ๋ฌธ์ œ ์ง€๋ฌธ๋งŒ ๊ฐ€์ ธ์™€ ์™ธ๋ถ€ ์ฝ”๋“œ ์—๋””ํ„ฐ์—์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋กœ์ง์„ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ solution ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ๋ฌธ์ œ๋งŒ ํ’€์–ด๋„ ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ ๋ฐฑ์ค€์—์„œ ์กฐ๊ธˆ ๋” ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๊ณ  ์‹ถ์€ ์š•์‹ฌ์— nodeJS์˜ ์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ์— ๋Œ€ํ•ด์„œ ๋‹ค์Œ ๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ์˜ˆ์‹œ๋กœ ํฌ์ŠคํŒ…ํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋ฌธ์ œ https://www.acmicpc.net/problem/4344 4344๋ฒˆ: ํ‰๊ท ์€ ๋„˜๊ฒ ์ง€ ๋Œ€ํ•™์ƒ ์ƒˆ๋‚ด๊ธฐ๋“ค์˜ 90%๋Š” ์ž์‹ ์ด ๋ฐ˜์—์„œ ํ‰๊ท ์€ ๋„˜๋Š”๋‹ค๊ณ  ์ƒ๊ฐ..

JS 2021. 8. 22. 16:36
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ