Sandra: Mausposition

Hallo zusammen,

hänge mal wieder an einer Kleinigkeit:

Mit 'event.clientX' kann man im IE doch die Mausposititon in Bezug auf die linke obere Ecke des Fensters berechnen lassen. Ich frage mich eben, ob ich die Mausposition auch in Abhängigkeit von einem ganz bestimmten Objekt berechnen kann.

Also angenommen, ich klicke in ein Bild hinein. Nun möchte ich die Position der Maus in Bezug auf die linke obere Ecke des Bildes wissen.

Geht sowas? Wenn ja, wer kann mir mit einem Tip helfen? Ich habe leider bisher für meine Zwecke nichts Brauchbares gefunden... :-(

Vielen Dank schonmal
MissLilly

  1. Hallo,

    Mit 'event.clientX' kann man im IE doch die Mausposititon in Bezug auf die linke obere Ecke des Fensters berechnen lassen. Ich frage mich eben, ob ich die Mausposition auch in Abhängigkeit von einem ganz bestimmten Objekt berechnen kann.

    Also angenommen, ich klicke in ein Bild hinein. Nun möchte ich die Position der Maus in Bezug auf die linke obere Ecke des Bildes wissen.

    Das geht in diesem Fall mit offsetX bzw. offsetY
    </selfhtml/javascript/objekte/event.htm#offset_x_y>

    Für NC gibt es dafür layerX bzw. layerY
    </selfhtml/javascript/objekte/event.htm#layer_x_y>
    Das wurde aber seltsamerweise in NC6 abgeschafft (wie man auf die Idee kommen kann, in einer höheren Browserversion bereits eingeführte Möglichkeiten wieder abzuschaffen, werde ich nie verstehen.)

    Robert

    http://www.designauswahl.here.de
    mit kostenlosem Webseiten-Generator ROBE.dit
    [more than a HTMLE.dit]

    1. Hallo,

      Das geht in diesem Fall mit offsetX bzw. offsetY
      </selfhtml/javascript/objekte/event.htm#offset_x_y>

      vielen Dank für deinen Tip. So habe ich es allerdings auch schon probiert. Bringt mich in meinem Fall aber leider nicht weiter. Ich möchte mich zwar auf ein ganz bestimmtes Objekt beziehen, habe aber innerhalb dieses Objekts auch noch andere.

      Beispiel:
      Ich habe auf meiner Seite ein großes Div, auf welches ich meine Mausposition immer beziehen möchte. Klicke ich auf ein Div oder ein anderes Objekt, das innerhalb dieses großen Div liegt, bekomme ich mit offsetX oder offsetY doch immer die Position in Abhänigkeit des angeklickten Objekts, oder??! Und genau das möchte ich nicht!!!

      Ist mein Problem jetzt vielleicht klarer? Hast Du mir viellicht noch einen Tip?

      Gruß
      Sandra

      1. Hallo Sandra,

        für Netscape 6 und MSIE hätte ich da folgendes:

        bei Deinem <div id="grossesDiv" ..> welches aber irgendwo liegen kann, hilft nur folgendes:

        function mein func(eventObj) {
          var mx = 0;
          var my = 0;
          var div_x = document.getElementById('grossesDiv').offsetLeft;
          var div_y = document.getElementById('grossesDiv').offsetTop;
          if (navigator.appName=="Netscape") {
            mx = eventObj.pageX;
            my = eventObj.pageY;
          } else{
            mx = window.event.clientX;
            my = window.event.clientY;
          }
          var rel_x = mx - div_x;
          var rel_y = my - div_y;
        }

        Gruß,
        Andreas

  2. Geht sowas? Wenn ja, wer kann mir mit einem Tip helfen? Ich habe leider bisher für meine Zwecke nichts Brauchbares gefunden... :-(

    Hmm, dann hast du wohl nich in selfhtml nachgeguckt:
    http://selfhtml.teamone.de/javascript/objekte/event.htm#x_y

    Gruß
    Norbert

    1. Hallo Norbert,

      Hmm, dann hast du wohl nich in selfhtml nachgeguckt:

      Doc habe ich, aber vielleicht am falschen Ende ;-)

      http://selfhtml.teamone.de/javascript/objekte/event.htm#x_y

      Da steht, dass das Eltern-Element absolut positioniert sein muss. Das ist bei mir leider nicht der Fall (sondern relativ) und verursacht auch leider mein Problem. Gibt es denn dann überhaupt eine Lösung?

      Danke

      Gruß
      Sandra

      Gruß
      Norbert

  3. Verstecke das bild im einem div...