Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Position von Elementen mit DHTML (https://boardunity.de/position-elementen-dhtml-t2384.html)

LonelyPixel 15.09.2004 20:51

Position von Elementen mit DHTML
 
Hallo,
heute bin ich wieder mit einem anderen Problem zurück gekommen... und zwar versuche ich, die overLIB-Popups auf der Seite an einer festen Stelle zu positionieren. Aber nicht ganz so fest, die Position soll sich nämlich nach anderen Elementen, wie Textfeldern, richten. Ein Tooltip soll z.B. immer an der unteren linken Ecke eines Textfelds ausgerichtet werden. Das wäre ja an sich nicht so schlimm, wenn ich doch nur irgendwie an die aktuelle Position des Textfelds kommen würde! Mit der offsetTop/offsetLeft-Eigenschaft des Elements kann ich nur den Abstand zum nächsten Parent-Element ermitteln. Wenn ich dann wiederum alle Elemente in einer Schleife durchlaufe, kommen zu viele raus und der Wert wird zu groß. Das ist also auch nicht das Wahre. Gibt es denn da keine einfache Lösung? this.left und this.style.left helfen mir auch nicht weiter. :( Geht sowas überhaupt? Ich mein, für den Browser sollte es doch wohl ein Leichtes sein, mir die Position der gerenderten Objekte zu mitzuteilen...

Fabchan 15.09.2004 21:16

Ich fürchte, das gibt es keine einfachere Lösung. Selbst das vBulletin macht es so. Ich habe mich auch schon oft gefragt, warum der Browser sowas nicht "weiß".

Tipp: Versuche einfach mal, von dem Wert, den die Schleife zurückliefert soviel abzuziehen, dasss es passt. Ist zwar irgendwie unsauber, aber anders lässt sich das wohl nicht so ohne weiteres Lösen.

Suche mal in dieser Datei nach \'getOffset\', dann siehst du die Funktion des vBulletin-WYSIWYG-Editors, ancheinend gibt es da irgendein Problem mit dem MSIE.
http://www.boardunity.de/clientscrip...tin_wysiwyg.js

LonelyPixel 15.09.2004 21:26

Hm, wow. Jetzt geht\'s sogar einigermaßen, danke für den Tipp! Ich wollte mehr DOM-Funktionen verwenden, als das Microsoft-all-Objekt, aber das hat dann Tabellen u.U. mehrfach gezählt. Mit element.offsetParent geht das jetzt besser als mit node.parentNode.

Dass da für den IE anders gezählt wird liegt daran, dass der IE die Rahmen von Objekten falsch interpretiert und dann der Wert korrigiert werden muss. Das ist aber bekannt und bereitet jedem Webdesigner Kopfschmerzen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25