Jörg Dutschke: Abfrage der Top-Position eines Elementes

hallo!

Ich denke mir fast, daß die Frage ziemlich newbiemäßig ist, aber was solls. Nach einem vollen Tag forschen  
frage ich jetzt einfach.

Wenn ich mit OnMouseOver ein Event auslöse, kann ich irgendwie die Top-Position des auslösenden Elements
ermitteln?
In Selfhtml fand ich bisher nur die Abfrage der x- bzw. y-Werte des Events ... das reicht mir aber nicht.
Ich brauche definitiv die Position des auslösenden Elements (z.b. obere Ecke eines Buttons) ...

Geht das irgendwie?

Bitte helft mir schnell .... ich muß sonst zum Seelenklemptner ....

Ciao + Danke
Jörg

  1. Hi Jörg!

    In Selfhtml fand ich bisher nur die Abfrage der x- bzw. y-Werte des Events ... das reicht mir aber nicht.

    Guck noch mal genau hin: < http://www.teamone.de/selfhtml/tecbbf.htm#a11> :-)
    Wie du siehst, kannst du mit window.event.offsetX/Y die Position des Elements bestimmen - leider nur mit IE.
    Für den Netsi kannst du das Ganze dann einfach in ein Layer packen und die Position dieses Layers mit document.layers[...].pageX/Y abfragen <../../tecbc.htm#a7>.

    Ich hoffe, jetzt klappts

    MfG Simon

  2. Hallo Jörg,

    Wenn ich mit OnMouseOver ein Event auslöse, kann ich irgendwie die Top-Position des auslösenden Elements
    ermitteln?
    In Selfhtml fand ich bisher nur die Abfrage der x- bzw. y-Werte des Events ... das reicht mir aber nicht.
    Ich brauche definitiv die Position des auslösenden Elements (z.b. obere Ecke eines Buttons) ...

    Bitte helft mir schnell .... ich muß sonst zum Seelenklemptner ....

    Na das wollen wir doch verhindern. Ich habe mal ein wenig in der Doku gesucht und bin auf folgende Lösung gekommen:

    <a href="#" onmouseover ="if (document.all) alert(this.offsetTop); else if (document.layers) alert(this.y)" onclick="return false;">Test</a>

    Im IE könnte es innerhalb von Tabellen Probleme geben. Mußt du dann austesten. Bezüglich zur Positionierung gibt es mehr auf http://msdn.microsoft.com/workshop/author/om/measuring.asp#chp_measuring.

    Ansonsten hoffe ich, ob der Aufruf macht was er soll. Wenns klappt schreibe es mal.

    Viele Grüße

    Antje

    1. hallo Antje,

      ich habe deine Hp http://pc-anfaenger.de/ besucht, bietet sichja an, wenn sie genannt wird.

      Und da zeigt sich für mich ein Kummer, an dem ich schon lange herum knabber.

      fahre ich mit der maus über einen Link, bekomme ich die Meldung:

      JavaScript error: Type 'javascript:' into Location for details

      ist nicht nur auf deiner hp aufgefallen.

      Ich benutze fast ausschliesslich netscape.

      testweise habe ich deine hp mal mit dem ie geladen, da kommt die meldung nicht.

      liegt diese fehlermeldung generell an den unterschiedlichen browsern ?

      und gibt es soetwas wie ein patentrezept, eine browser-inkompatibiltät (???) zu umgehen...?

      mit freundlichen gruessen

      toben

  3. hi Joerg,

    Wenn ich mit OnMouseOver ein Event auslöse, kann ich irgendwie die Top-Position des auslösenden Elements
    ermitteln?

    Ich habe mal ein kleines Testsccript hochgeladen;
    http://www.wendenburg.de/test/pos_mover.htm. Fuer eine beliebige Anzahl von Layern wird da onmouseover registriert, und mit ID an eine Funktion uebergeben, die dann per alert x/y ausgibt.
    Sollte IE und NC tauglich sein, habe es jetzt allerdings bloss am Mac getestet.

    Hilft's?

    Gruesse  Joachim

  4. Hi,

    jetzt scheinst Du es ja doch so zu machen wie ich es vorgeschlagen habe :)))+

    Frankie

    hallo!

    Ich denke mir fast, daß die Frage ziemlich newbiemäßig ist, aber was solls. Nach einem vollen Tag forschen  
    frage ich jetzt einfach.

    Wenn ich mit OnMouseOver ein Event auslöse, kann ich irgendwie die Top-Position des auslösenden Elements
    ermitteln?
    In Selfhtml fand ich bisher nur die Abfrage der x- bzw. y-Werte des Events ... das reicht mir aber nicht.
    Ich brauche definitiv die Position des auslösenden Elements (z.b. obere Ecke eines Buttons) ...

    Geht das irgendwie?

    Bitte helft mir schnell .... ich muß sonst zum Seelenklemptner ....

    Ciao + Danke
    Jörg