Mit dem Thema Divs hab ich mir auch schon so mansche Stunde den Kopf zerbrochen. Am Ende merkt man dann das eigentlich alles ganz einfach war aber bis man dahin kommt dauert es immer.
Ich denke mal wichtig ist erst mal ob das kleine Div relativ zum umgebenden plaziert wird oder ob es absolut zum Browserfenster positioniert wird. Relativ wäre in sofern besser, da dann auch die Position des äußeren Divs verändert werden kann und das kleine bleibt immer gleich positioniert innerhalb des großen.
Um die Position zu bekommen kannst folgendes mal testen.
|
Source code
|
1
2
3
4
5
6
7
8
9
10
|
function Get_X (mydiv) {
var x = parseInt(mydiv.offsetLeft);
if (!mydiv.offsetParent) return x;
else return x + Get_X(mydiv.offsetParent);
}
function Get_Y (mydiv) {
var y = parseInt(mydiv.offsetTop);
if (!mydiv.offsetParent) return y;
else return y + Get_Y(mydiv.offsetParent);
}
|
Das eine liefert den Pixel der X und das andere der Y Achse. Ich weiß nicht wie ansonsten dein Skript aussieht aber ich denke an den Stellen wo Du die Position benötigst kannst Du die Funktionen aufrufen und gut. Kannst ja bei einem Form bei onSubmit die beiden Parameter an das PHP Skript schicken was die Position speichern soll. Oder eben das Submit nicht direkt auslösen und innerhalb einer Funktion behandeln. Ist die Größe des Divs denn festgelegt oder ebenfalls variabel? Weil da brauchst Du dann wieder ne neue Funktion welche die Größe ausließt. Kannst ja mal bescheid geben ob es damit läuft. Ich hatte das Problem das es bei mir im FF ohne Probleme ging aber im IE bekam ich immer -1 wobei ich die Funktionen auch in einer endlosen Liste weitere Funktionen benutzt habe ich ich nicht mehr sicher bin ob die Funktion selbst -1 geliefert hat oder das lediglich der Wert war der am Ende im PHP Skript an kam. Ich wollte damit seinerzeit mal einen Notizblock realisieren wo ich "PostIT" Zettel aufkleben kann und einen Text rein schreiben. Nachdem ich nach mehreren Tagen immer noch vor dem Problem stand, dass mein zweiter Zettel den ersten überschrieben hat war mir das zu doof. Falls Du was in der Richtung machst würd mich die funktionierende Endversion interessieren