You are not logged in.

wcf.regNote.message

ShaoKhan

www.Spiegelwelt.com

  • "ShaoKhan" started this thread

Posts: 389

Location: 127.0.0.1

Occupation: EDV Dienstleister

  • Send private message

1

Tuesday, December 8th 2009, 11:31am

Div-Position in einem Div

ha ... schon wieder ich.
Ich sitz hier grad dran und will die Position eines (kleinen) divs in einem (grossen) Div ermitteln.
Langsam weiss ich nicht mehr weiter. Ich hab nicht mal 'ne Idee.

Vorgehensweise:

Es wird beim drücken eines Buttons ein fest definierter Div angelegt. Was weiss ich ... 1000x 500px.
Ein weiterer Button erzeugt im Browser per appendChild() einen weiteren (den kleinen) Div.
Nun will ich die Position des kleinen Divs innerhalb des grossen ermitteln um diese dann per Ajax zu speichern.

Ideen ? Ich hab keine grad.

best regards.
Leben heisst - Narben tragen.

Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Tuesday, December 8th 2009, 3:10pm

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 ;)
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

wcf.user.socialbookmarks.titel