Всем привет. Допустим есть блок <div id="block"></div>. Как сделать что бы положение курсора начинало свой отчет только внутри блока, и только в его пределах. То есть когда курсор находится в левом верхнем углу этого блока, результат был X:1, Y:1.
Нужно вычитать из положения курсора положение элемента. Положение элемента узнаём функцией getBoundingClientRect():
var block = document.querySelector('#block');
block.onmousemove = function(event) {
var mpos_left = event.pageX,
mpos_top = event.pageY
var mpos_block_left = mpos_left - this.getBoundingClientRect().left,
mpos_block_top = mpos_top - this.getBoundingClientRect().top;
this.innerHTML = 'Left: '+mpos_block_left+'; Top: '+mpos_block_top;
};
#block {
width: 200px;
height: 200px;
margin: 20px;
border: 2px solid #000;
}
<div id="block"></div>
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники