ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

์บ”๋ฒ„์Šค ์‚ฌ์ด์ฆˆ ์กฐ์ •
height๊ฐ’ ๊ตฌํ•˜๊ธฐ

 

 ์บ”๋ฒ„์Šค์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” ์ฐฝ ์‚ฌ์ด์ฆˆ์— ๋”ฑ ๋งž๊ฒŒ ์กฐ์ •ํ•˜์˜€๊ณ  ์กฐ์ • ๋œ ์บ”๋ฒ„์Šค ๊ธฐ์ค€์œผ๋กœ ์Šคํฌ๋กค ๊ฐ’์ด ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์— ๋งž๋‹ฟ์•˜์„ ๋•Œ ์„ค์ •ํ•ด ๋‘” ์บ”๋ฒ„์Šค ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ธŒ๋ผ์šฐ์ € ์ฐฝ๊ณผ ์บ”๋ฒ„์Šค ์ด๋ฏธ์ง€ ๊ฐ„์˜ height ๊ฐ’์„ getBoundingClientRect().top์„ ํ†ตํ•ด ๊ณ„์‚ฐํ•˜์˜€๋‹ค.

 

๊ด€๋ จ ์˜์ƒ

 ํ•˜์ง€๋งŒ ์›๋ž˜ ์˜๋„ํ–ˆ๋˜ ๋ฐ”์™€๋Š” ๋‹ฌ๋ฆฌ ์บ”๋ฒ„์Šค ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์•˜๋‹ค.

 ์ด๋Š” getBoundingClientRect().top ๊ฐ’์ด ์ผ์ •ํ•˜๊ฒŒ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์•„๋ž˜ ์ฝ˜์†”์— ์ถœ๋ ฅํ•ด ๋ณธ ๋ฐ”์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž๊ฐ€ ์Šคํฌ๋กคํ•˜๋Š” ์†๋„์— ๋”ฐ๋ผ ๊ฐ’์ด top์˜ ๊ฐ’์ด ์ƒ์‹œ ๋ณ€ํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค.

 ์ด๋ฅผ ์œ„ํ•ด ์š”์†Œ์˜ offsetTop์„ ์ด์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ๊ณผ ์บ”๋ฒ„์Šค ์ด๋ฏธ์ง€ ๊ฐ„์˜ height ๊ฐ’์— ์–ป๊ณ ์ž ํ–ˆ๋‹ค.

 offsetTop์€ position๊ฐ’์ด relative๋กœ ์„ค์ • ๋œ ๋ถ€๋ชจ ์š”์†Œ ๊ธฐ์ค€์œผ๋กœ top๊ฐ’์„ ์‚ฐ์ถœํ•œ๋‹ค. ํ˜„์žฌ ๋ณธ ํ”„๋กœ์ ํŠธ์—์„œ ์บ”๋ฒ„์Šค ์ด๋ฏธ์ง€๊ฐ€ ์†ํ•ด ์žˆ๋Š” <div>scroll-section</div>์—  position  relative ๊ฐ’์„ ์ง€์ •ํ•ด์ฃผ์—ˆ๋‹ค.

 ํ•˜์ง€๋งŒ ์ด ๋˜ํ•œ ์ •ํ™•ํ•œ top๊ฐ’์ด ์‚ฐ์ถœ๋˜์ง€ ์•Š์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์บ”๋ฒ„์Šค ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ œ๋Œ€๋กœ ๋™์ž‘์น˜ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

์Šคํฌ๋กค ์˜์—ญ

 ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๋Š” transform ์†์„ฑ ๊ฐ’์˜ ํŠน์„ฑ์„ ๋ฐ˜์˜ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒ ํ•œ ๋ฌธ์ œ์˜€๋‹ค.

 ์œ„์˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ๋ณธ๋ž˜ ์บ”๋ฒ„์Šค์˜ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ์ธ 1920*1080์„ ํ™”๋ฉด ์ƒ์— ๋”ฑ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์ผ์ • ๋น„์œจ๋กœ 1280*720์œผ๋กœ transform scale() ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค„์—ฌ ๋‘” ์ƒํƒœ์ด๋‹ค.

 

 offsetTop์„ ๊ณ„์‚ฐํ•  ๋•Œ ๊ธฐ์ค€์ด ๋˜๋Š” ์บ”๋ฒ„์Šค์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์žฌ์กฐ์ • ํ•œ ์‚ฌ์ด์ฆˆ์˜ ๊ฒƒ์œผ๋กœ ๋งž์ถ”์–ด ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ transform์œผ๋กœ ์œ„์น˜ ์ด๋™ ๋ฐ ์Šค์ผ€์ผ ์กฐ์ •์€ ์š”์†Œ์˜ ์›๋ž˜ ์œ„์น˜๋‚˜ ํฌ๊ธฐ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ธฐ์—, ๊ธฐ๋ณธ์ ์ธ Geometry ์ƒ์—์„œ ๋ณธ๋ž˜ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„ ์˜์—ญ ์ž์ฒด๋Š” ๋ณ€ํ•˜์ง€ ์•Š์€ ์ฑ„ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณ€ํ™”๋งŒ ์ผ์–ด๋‚œ๋‹ค.

 

 ์ฆ‰, offsetTop์˜ ๊ณ„์‚ฐ์ด ์žฌ์กฐ์ • ๋˜๊ธฐ ์ „์— ์›๋ž˜ ์บ”๋ฒ„์Šค ์‚ฌ์ด์ฆˆ์ธ 1080 ๊ธฐ์ค€์œผ๋กœ offsetTop์œผ๋กœ ๊ณ„์‚ฐ๋˜๋ฉด์„œ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ์„ ์ œ๋Œ€๋กœ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์ด๋‹ค.

 

 ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์กด offsetTop ๊ฐ’์— (์›๋ž˜ ์บ”๋ฒ„์Šค ์‚ฌ์ด์ฆˆ - ์žฌ์กฐ์ • ๋œ ์บ”๋ฒ„์Šค ์‚ฌ์ด์ฆˆ) / 2์˜ ๊ฐ’์„ ์ถ”๊ฐ€์ ์œผ๋กœ ๋”ํ•ด ์ฃผ์–ด, ํ˜„์žฌ ํ™”๋ฉด ์ƒ์— ๋ณด์ด๋Š” ์บ”๋ฒ„์Šค์˜ ์‚ฌ์ด์ฆˆ์— ๋งž๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ์—ˆ๋‹ค.

 

๊ด€๋ จ ์˜์ƒ

 

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