event target ํฌ์ปค์‹ฑํ•˜๊ธฐ

๋ฌธ์ œ ์ด๋ฒคํŠธ ์œ„์ž„(Event Delegation)์„ ์œ„ํ•ด ์ตœ์ƒ์œ„ ๋ถ€๋ชจ ์ปจํ…Œ์ด๋„ˆ์— ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋ฐ”์ธ๋”ฉํ•ด์ค„ ๊ฒฝ์šฐ ํ•ด๋‹น ์š”์†Œ ๋‚ด๋ถ€์— ์ž์‹ ์š”์†Œ๋“ค์ด ๋˜ ํ•œ๋ฒˆ ๋ถ€๋ชจ(ParentElem)-์ž์‹(ChildElem) ๊ด€๊ณ„๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๊ณ  ๋‘ ์š”์†Œ๊ฐ€ ๋ ˆ์ด์•„์›ƒ ์ƒ ์™„์ „ํžˆ ๊ฒน์ณ์ ธ ์žˆ์„ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด click ์ด๋ฒคํŠธ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. ParentElem์—์„œ click ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ํ›„์† ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์›น ์ƒ์—์„œ ChildElem์ด wrapper์ธ ParentElem๊ณผ ์œ„์น˜ ๊ฐ’์ด ๊ฒน์ณ์ ธ ์žˆ๊ณ  ํฌ๊ธฐ๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ์—๋Š” ParentElem์ด ์•„๋‹Œ ChildElem์ด ๊ณ„์†ํ•ด์„œ ์„ ํƒ์ด ๋˜์–ด ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค. /h1> p> (...) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ชจ๋“  ์š”์†Œ๋ฅผ ๊ฐ์‹ธ๋Š” container์ธ leafl..

JS 2021. 10. 9. 01:01
๋ถ€๋“œ๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ_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
position ์†์„ฑ - relative, absolute, fixed

๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์ด์ง€๋งŒ ๋งˆํฌ์—… ์ƒ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ position ์†์„ฑ์— ๋Œ€ํ•ด์„œ ์งง๊ฒŒ ํฌ์ŠคํŒ…ํ•˜๊ณ ์ž ํ•œ๋‹ค. ์œ„์น˜๊ฐ€ ์ •์ ์ธ ๊ฒฝ์šฐ relative, absolute, fixed๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ์„ ์ ์œผ๋กœ ๊ธฐ๋ณธ ์ƒํƒœ์ธ static์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. static ๋ชจ๋“  ํƒœ๊ทธ๋“ค์€ ์ฒ˜์Œ ์ƒํƒœ๊ฐ€ static ๊ธฐ๋ณธ ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ position์„ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋จ ์ฐจ๋ก€๋Œ€๋กœ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ, ์œ„์—์„œ ์•„๋ž˜๋กœ ์Œ“์ž„ ์œ„์น˜๊ฐ€ ๋™์ ์ธ ๊ฒฝ์šฐ ์•ž์„œ ์‚ดํŽด ๋ณธ static์€ ๋ณ„๋„์˜ ๋ณ€๊ฒฝ ์—†์ด ์š”์†Œ๊ฐ€ ๊ทธ๋Œ€๋กœ ์ˆœ์„œ๋Œ€๋กœ ์Œ“์ด๋Š” ๋ฐ˜๋ฉด์— ์•„๋ž˜ 3๊ฐœ์˜ position๋“ค์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜์˜ ์œ„์น˜ ๊ฐ’(top, right, bottom, left)์„ ์ง€์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค. relative ๋ณ„๋„์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ static๊ณผ ๋™..

HTML CSS 2021. 10. 6. 17:41
float ์†์„ฑ์„ ์ด์šฉํ•˜์—ฌ header-menu ์œ„์น˜ ์กฐ์ •

๋ฌธ์ œ header์˜ ๊ฐ ๋ฉ”๋‰ด๋ฅผ ์–‘์ชฝ์œผ๋กœ ๋„์–ด๋†“๊ธฐ ์œ„ํ•ด์„œ float ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์˜€๋”๋‹ˆ, ๊ทธ ๋‹ค์Œ ์˜ค๋Š” ์š”์†Œ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์Œ“์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ˜„์žฌ header๊ฐ€ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š” ์˜์—ญ์— ์ค‘์ฒฉ๋˜์–ด ๋žœ๋”๋ง๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ๋ฌธ์ œํ•ด๊ฒฐ_float ์†์„ฑ๊ณผ clearfix ๊ฒฐ๊ณผ์ ์œผ๋กœ float ์†์„ฑ์— ๋Œ€ํ•ด์„œ ์–•๊ฒŒ ์•Œ๊ณ  ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ์ƒํ•œ ์‹ค์ˆ˜์˜€๋‹ค. float element์— ๋ถ€์œ  ์†์„ฑ์„ ์ฃผ์–ด ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• float์œผ๋กœ ์ปจํ…์ธ ๋ฅผ ๋„์šธ ์‹œ ๋‹ค์Œ ๋‚ด์šฉ์€ ๋นˆ ์ž๋ฆฌ๋ฅผ ์ฑ„์šฐ๊ธฐ ์œ„ํ•ด ํฌ์ง€์…˜๋‹_๋ธŒ๋ผ์šฐ์ € ์ƒ์˜ ์˜ค๋ฅ˜ ์ฆ‰, ํ˜„์žฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ํ™”๋ฉด ์ƒ์—์„œ float-left์™€ float-right ์†์„ฑ์„ ์ค€ ๋‘ ๊ฐœ์˜ menu-container๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ๋ถ€๋ชจ ํƒœ๊ทธ์ธ inner ํด๋ž˜์Šค ํƒœ๊ทธ์— float๊ฐ’์„ ํ•ด์ œํ•ด ์ฃผ๋Š” ์ถ”๊ฐ€ ๊ณผ..

HTML CSS 2021. 10. 6. 17:03
Semantic-Web๊ณผ SemanticTags์˜ ์ฐจ์ด

์˜ˆ์‹œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ํƒœ๊ทธ์ธ div์™€ img๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ๋žœ๋”๋งํ•˜์˜€๋‹ค. ๋‘ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์˜€์„ ๊ฒฝ์šฐ์— ๋™์ผํ•˜๊ฒŒ ํ™”๋ฉด์— ๋žœ๋”๋ง๋˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •ํ•  ๋•Œ ๋‘ ๊ฐœ์˜ ํƒœ๊ทธ ์ค‘์— ์•„๋ฌด ํƒœ๊ทธ๋‚˜ ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ์„ ๊ฒƒ์ธ๊ฐ€? ์ด์™€ ๊ด€๋ จ๋˜์–ด ๊ถ๊ธˆ์ฆ์ด ์ƒ๊ฒจ ๊ด€๋ จ ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ ๊ฒ€์ƒ‰ํ•ด ๋ณด์•˜๊ณ  ๋งˆํฌ์—… ์–ธ์–ด์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ค‘์š”ํ•œ ๊ฐœ๋…์ด ์„ ์ œ๋จ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. Semantic-Web๊ณผ SemanticTags์˜ ์ฐจ์ด ์‹œ๋งจํ‹ฑ ์›น(Semantic-Web) World-wide-web์„ ์ฐฝ์•ˆํ•œ ํŒ€ ๋ฒ„๋„ˆ์Šค๋ฆฌ๊ฐ€ ์ œ์•ˆํ•œ ์ฐจ์„ธ๋Œ€ ์›น ๊ธฐ์ˆ  ์›น ์ƒ์— ์กด์žฌํ•˜๋Š” ์ •๋ณด๋ฅผ ์‚ฌ๋žŒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ธฐ๊ณ„๊ฐ€ ์˜๋ฏธ(Semantic)๋ฅผ ํŒŒ์•… ๋ฐ ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์— ์ ํ•ฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ์„œ๋น„์Šค ๋ถ€์—ฌ๋ฐ›์€ ์ž๋™..

HTML CSS 2021. 10. 5. 17:50
์š”์†Œ์˜ ๋™์ ์ธ ์œ„์น˜๊ฐ’์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์Šคํฌ๋กค์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ_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
[๊ทธ๋ฆฌ๋””]๊ตฌ๋ช…๋ณดํŠธ

๋ฌธ์ œ ๋ฌด์ธ๋„์— ๊ฐ‡ํžŒ ์‚ฌ๋žŒ๋“ค์„ ๊ตฌ๋ช…๋ณดํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌ์ถœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ช…๋ณดํŠธ๋Š” ์ž‘์•„์„œ ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ 2๋ช…์”ฉ ๋ฐ–์— ํƒˆ ์ˆ˜ ์—†๊ณ , ๋ฌด๊ฒŒ ์ œํ•œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๋žŒ๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ [70kg, 50kg, 80kg, 50kg]์ด๊ณ  ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์ด 100kg์ด๋ผ๋ฉด 2๋ฒˆ์งธ ์‚ฌ๋žŒ๊ณผ 4๋ฒˆ์งธ ์‚ฌ๋žŒ์€ ๊ฐ™์ด ํƒˆ ์ˆ˜ ์žˆ์ง€๋งŒ 1๋ฒˆ์งธ ์‚ฌ๋žŒ๊ณผ 3๋ฒˆ์งธ ์‚ฌ๋žŒ์˜ ๋ฌด๊ฒŒ์˜ ํ•ฉ์€ 150kg์ด๋ฏ€๋กœ ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์—ฌ ๊ฐ™์ด ํƒˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ตฌ๋ช…๋ณดํŠธ๋ฅผ ์ตœ๋Œ€ํ•œ ์ ๊ฒŒ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์‚ฌ๋žŒ์„ ๊ตฌ์ถœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด people๊ณผ ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ limit๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋ชจ๋“  ์‚ฌ๋žŒ์„ ๊ตฌ์ถœํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ตฌ๋ช…๋ณดํŠธ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œ..

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
๊ธ€ ๋ณด๊ด€ํ•จ