PDA

Просмотр полной версии : [JS] Определение координат курсора на изображении


Kuzya
30.07.2009, 08:45
Здравствуйте. У меня имеется изображение огромных размеров (3000px*4000px). При клике мышью на любую точку этой картинки мне нужно вычислить и показать координаты курсора. И именно не от начала экрана, а от начала изображения. Подскажите пожалуйста, как это сделать?

FireFenix
30.07.2009, 10:17
Ничего сложного... позиция на экране минус смещение нкартинки, получаем абсолютную позицию на картинке

Пример :

<script language="javascript">

function mousePageXY(elem)
{
var x = 0, y = 0;

y_offset = elem.offsetTop;
x_offset = elem.offsetLeft;

if (window.event.pageX || window.event.pageY)
{
x = window.event.pageX;
y = window.event.pageY;
}
else if (window.event.clientX || window.event.clientY)
{
x = window.event.clientX +
(document.documentElement.scrollLeft || document.body.scrollLeft) -
document.documentElement.clientLeft;
y = window.event.clientY +
(document.documentElement.scrollTop || document.body.scrollTop) -
document.documentElement.clientTop;
}

window.status = "X:" + (x - x_offset) + ' - Y:' + (y - y_offset);
}

</script>

<img id="img" src="image.jpg" onmousemove="javascript:mousePageXY(this);" onclick="alert();">

Слева внизу в статусе отобразятся координаты курсора на картинке, при передвижении курсора по картинке

Kuzya
31.07.2009, 07:47
Спасибо! То что нужно! Только Mozilla ругается на то что не обозначен window.event. Поэтому пришлось в ручную event передавать, но это ничего =)

b3
31.07.2009, 12:36
Способ №2 ето: <input type="image"> тоесть кнопка в виде картинки, она передает координаты нажатия. Правда это не JS но может тоже подойдет вам.