๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Javascript

ํฌ๊ธฐ์™€ ์œ„์น˜์— ๋Œ€ํ•œ ์†์„ฑ

by oranssy 2022. 9. 1.
728x90
๋ฐ˜์‘ํ˜•

โญ๏ธ ํฌ๊ธฐ ๋ฐ ์œ„์น˜ ์š”์†Œ ์†์„ฑ โญ๏ธ


01. ํฌ๊ธฐ / ์œ„์น˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์†์„ฑ ๋ฐ ๋ฉ”์„œ๋“œ

์ข…๋ฅ˜ ์„ค๋ช… ํŠน์ง•
element.clientWidth(); ์š”์†Œ์˜ ๋„ˆ๋น„๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๊นฅ์ชฝ ์—ฌ๋ฐฑ(margin), ํ…Œ๋‘๋ฆฌ(border) ๊ฐ’์€ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
element.clientHeight(); ์š”์†Œ์˜ ๋†’์ด๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๊นฅ์ชฝ ์—ฌ๋ฐฑ(margin), ํ…Œ๋‘๋ฆฌ(border) ๊ฐ’์€ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
element.clientTop(); ์š”์†Œ์˜ Y์ถ• ๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋ถ€๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. (position ๊ณผ ๊ฐ™์€ ๊ฐœ๋…)
element.clientLeft(); ์š”์†Œ์˜ X์ถ• ๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋ถ€๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. (position ๊ณผ ๊ฐ™์€ ๊ฐœ๋…)
element.offsetWidth(); ์š”์†Œ์˜ ๋„ˆ๋น„๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๊นฅ์ชฝ ์—ฌ๋ฐฑ(margin), ํ…Œ๋‘๋ฆฌ(border) ๊ฐ’๊นŒ์ง€ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
element.offsetHeight(); ์š”์†Œ์˜ ๋†’์ด๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๊นฅ์ชฝ ์—ฌ๋ฐฑ(margin), ํ…Œ๋‘๋ฆฌ(border) ๊ฐ’๊นŒ์ง€ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
element.offsetTop(); ์š”์†Œ์˜ Y์ถ• ๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. (position ๊ณผ ๊ฐ™์€ ๊ฐœ๋…)
element.offsetLeft(); ์š”์†Œ์˜ X์ถ• ๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. (position ๊ณผ ๊ฐ™์€ ๊ฐœ๋…)
element.getBoundingClientRect(); ํฌ๊ธฐ ๋ฐ ์œ„์น˜ (top, left, right, bottom, x, y, width, height) ๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. console.log( )๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ์˜ˆ์ œ

728x90
๋ฐ˜์‘ํ˜•