ํฐ์คํ ๋ฆฌ ๋ทฐ
๋๋กญ๋ค์ด ๋ฉ๋ด๊ฐ ํ์ฌ ํ๋ฉด ์์ ๋ณด์ด๋ ์ปจํ ์ด๋์ ๋๋น์ ์์น์ ๋ง๊ฒ ๋ํ๋๋๋ก ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํํ์๋ค.
const target = document.querySelector('.dropdown-item-list-box'); //์ปจํ
์ด๋ elem
const labelRect = this.dropdownLabel.getBoundingClientRect(); // elem์ ์๋์ ์์น์ ํฌ๊ธฐ์ ๊ฐ์ ๊ฐ์ ธ์ด
target.style.cssText = `
position: absolute;
width: ${labelRect.width}px;
top: ${labelRect.top + 5}px;
`;
Element.getBoundingClientRect() ๋ฉ์๋๋ DOMRect ์์์ ํฌ๊ธฐ์ ๋ทฐํฌํธ์ ์๋์ ์ธ ์์น์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณต ํ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค
์ธํฐํ์ด์ค์ cssText ์์ฑ์ CSSStyleDeclaration ์์์ ์ธ๋ผ์ธ ์คํ์ผ ์ ์ธ ํ ์คํธ๋ง ๋ฐํํ๊ฑฐ๋ ์ค์ ํฉ๋๋ค
'JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
textContent์ ๊ณต๋ฐฑ ๋ฌธ์ (0) | 2021.07.16 |
---|---|
auto-complete_๋น๋๊ธฐ ์ฝ๋ฐฑ ํจ์, focusEvent, mouseEvent (0) | 2021.07.16 |
insertAdjacentElement๋ก ์์ ์ถ๊ฐ (0) | 2021.07.13 |
์บ๋ฌ์ (Carousel) (0) | 2021.07.10 |
Image ์ฌ์ด์ฆ ๊ฐ์ ธ์ค๊ธฐ_JS ํ์ฑ๊ณผ ์คํ ๋์ ์์ (0) | 2021.07.10 |
๋๊ธ