๐ ํญ์ ๊ธฐ์ค์ ์ ์ผ์ชฝ ์๋จ (0,0)์ผ๋ก ์์.
๐ ๋ธ๋ผ์ฐ์ ์ right, bottom์ CSS์ ๋ค๋ฆ. ๋ธ๋ผ์ฐ์ ์ ์ขํ๋ ๋ฌด์กฐ๊ฑด ์ข์ธก ์๋จ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ํธํจ.
๐ DOM์ ๋ค์ด์๋ ๋ชจ๋ ์์๋ค (img,tag ๋ฑ) == element!
๐ ๋ฐ๋ผ์ ๋ชจ๋ element๋ค์ .getBoundingClientRect() ์ฌ์ฉ๊ฐ๋ฅ.
๐ (์)img.getBoundingClientRect() ํธ์ถ ์ img์ width, height, top, left, bottom, right ๋ฑ ์์น ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ค.
๐ ์ฌ์ฉ์๊ฐ ๋ณด๋ ํ์ด์ง์ ์๊ด์์ด ๋ธ๋ผ์ฐ์ ์๋์ฐ ์ฐฝ์์,XY๊ฐ ์ผ๋ง๋ ๋จ์ด์ ธ์๋์ง์ ๊ฐ
๐ ๋ฐ๋๋ก, ํด๋ผ์ด์ธํธ ์ฌ์ด์ฆ๊ฐ ์๋๋ผ, ๋ฌธ์์ ์์์ ๋ถํฐ XY๊ฐ์ด ๊ณ์ฐ๋๋ค. ํ์ด์ง ์์ฒด์์ ๋จ์ด์ง XY๊ฐ์ ๋งํจ. ์ฐ๋ฆฌ๋์ ๋ณด์ด์ง ์๋ ์คํฌ๋กค ์ต์๋จ์์๋ถํฐ !
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
* {
box-sizing: border-box;
margin: 0;
}
body {
background-color: black;
}
div {
display: block;
width: 200px;
height: 200px;
background-color: pink;
margin-bottom: 20px;
}
.special {
background-color: green;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div class="special"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<script>
const special = document.querySelector(".special");
special.addEventListener("click", (event) => {
console.log(special.getBoundingClientRect());
console.log(`client : ${event.clientX},${event.clientY} `);
console.log(`page : ${event.pageX},${event.pageY}`);
});
</script>
</body>
</html>
JS only
const verticalEl = document.querySelector(".vertical");
const horizontalEl = document.querySelector(".horizontal");
const tagEl = document.querySelector(".tag");
const targetEl = document.querySelector(".target");
document.addEventListener("mousemove", (event) => {
const x = event.clientX;
const y = event.clientY;
console.log(x, y);
verticalEl.style.left = `${x}px`;
horizontalEl.style.top = `${y}px`;
targetEl.style.top = `${y}px`;
targetEl.style.left = `${x}px`;
tagEl.style.top = `${y}px`;
tagEl.style.left = `${x}px`;
tagEl.innerHTML = `${x}px, ${y}px`;
});
์ฐธ๊ณ ์๋ฃ
์ขํhttps://ko.javascript.info/coordinates
๋๋ฆผ์ฝ๋ฉ ํ๋ก ํธ์๋ ํ์ ๋ธ๋ผ์ฐ์ 101 - 2.5 ์ ๋ง ์ค์ํ ๋ธ๋ผ์ฐ์ ์ขํ