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

Discussion in 'PHP' started by Kuzya, 30 Jul 2009.

  1. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Здравствуйте. У меня имеется изображение огромных размеров (3000px*4000px). При клике мышью на любую точку этой картинки мне нужно вычислить и показать координаты курсора. И именно не от начала экрана, а от начала изображения. Подскажите пожалуйста, как это сделать?
     
  2. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Ничего сложного... позиция на экране минус смещение нкартинки, получаем абсолютную позицию на картинке

    Пример :
    PHP:
    <script language="javascript">

    function 
    mousePageXY(elem)
    {
      var 
    00;

      
    y_offset elem.offsetTop;
      
    x_offset elem.offsetLeft;

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

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

    </script>

    <img id="img" src="image.jpg" onmousemove="javascript:mousePageXY(this);" onclick="alert();">
    Слева внизу в статусе отобразятся координаты курсора на картинке, при передвижении курсора по картинке
     
  3. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Спасибо! То что нужно! Только Mozilla ругается на то что не обозначен window.event. Поэтому пришлось в ручную event передавать, но это ничего =)
     
  4. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Способ №2 ето: <input type="image"> тоесть кнопка в виде картинки, она передает координаты нажатия. Правда это не JS но может тоже подойдет вам.
     
    _________________________