Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > OnMouseMove заставить работать


Автор: RinOSpro 13.7.2009, 12:39
Всем привет! Есть код:

Код

<script language="JavaScript">
<!--
function displayCoords(e) {
status= "x: " + e.pageX + " y: " + e.pageY;
}
// -->
</script>

<img src="img.jpg" onmousemove="displayCoords(event)">


В общем в строке состояния показывает координты, курсора.
Только вот только работает, это в опере, в ie координыты = undefined, а в мозиле вообще ни чего не показывается.
Помогите плиз, ка сделать чтоб работало в перечисленных браузерах?

Автор: comtat 14.7.2009, 09:45
Код

<html>
<body>
<script>
function displayCoords(e) {
    var isMSIE = /*@cc_on!@*/false;
    document.getElementById('y').innerHTML = isMSIE ? event.clientY : e.pageY;
    document.getElementById('x').innerHTML = isMSIE ? event.clientX : e.pageX;
}
</script>
<div style='border:1px solid #000;height:300px;width:500px;' onmousemove="displayCoords(event);">ccc</p>
<div>x: <div id='x'></div><br />y: <div id='y'></div></div>
</body>
</html>

Как то так ...

Автор: RinOSpro 14.7.2009, 10:59
Гигантское спасибо smile Вот только одно но... координаты абсолютные... а нужно только координаты картинки... чтоб левый верхний пиксель был [0;0].

Автор: comtat 14.7.2009, 11:03
как вариант вычитать из значений курсора значение положения картинки 
Код

<html>
<body>
<script>
function displayCoords(e) {
    var isMSIE = /*@cc_on!@*/false;
    document.getElementById('y').innerHTML = (isMSIE ? event.clientY : e.pageY) - document.getElementById('img').offsetTop;
    document.getElementById('x').innerHTML = (isMSIE ? event.clientX : e.pageX) - document.getElementById('img').offsetLeft;
}
</script><br />
<div id="img" style='border:1px solid #000;height:300px;width:500px;' onmousemove="displayCoords(event);">ccc</p>
<div>x: <div id='x'></div><br />y: <div id='y'></div></div>
</body>
</html>

Автор: RinOSpro 14.7.2009, 11:36
ух ты)) спасибо)) то что нужно))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)