2012-04-04 11 views
1

Ich verwende derzeit ein DragDrop-Skript und speichere die linken und oberen Koordinaten der (Position: relativen) div (s). Mein Problem ist, dass die Koordinaten, an denen sie gespeichert sind, nicht immer die gleiche Position (wie platziert) haben, wenn ich neu lade.DragDrop Positionierungsfehler speichern

Die divs sind in einem Behälter mit einer gegebenen Höhe und Breite (dieser Behälter die divs hält nur im Inneren zu bewegen - Perimeter div)

Also ich versuche, die Koordinaten nur Arbeit/Raum zu erhalten innerhalb des DIV und nicht die ganze Seite.

ich PHP bin mit der richtigen divs/Widgets für die Seite zu erhalten, die die Widget-Klasse (Hintergrund und andere CSS-basierte Variablen)

Alle Widgets haben eine benutzerdefinierte ID für den Fall gibt es mehr als eine ist ein bestimmtes Widget

Das ist mein Hauptcode:

<? 
    $load = mysql_query("SELECT * FROM `widgets` WHERE `page`='1' AND `show`='yes'")or die(mysql_error()); 
    while($widget = mysql_fetch_array($load)){ 
?> 
<div id="<? echo $widget['id']; ?>" style="left: <? echo $widget['left']; ?>px; top: <? echo $widget['top']; ?>px;" class="<? echo $widget['widgetid']; ?> draggable ui-widget-content" onmouseup="find('<? echo $widget['id']; ?>','1')"> </div> 
<? } ?> 

Diese für das Speichern mein Javascript ist:

l bleibt, tspitze ist, beide gesendet onmouseup (w = widgetid, request = pageid)

Die Variablen in der Datenbank speichern nur auf der Seite nicht korrekt platziert werden (entweder bewegt weit nach rechts oder oben leicht)

Jede Hilfe würde sehr geschätzt werden!

Vielen Dank im Voraus

+0

Immer noch Hilfe mit diesem Problem. – Andrew

+0

Mein Problem war: Eltern div hatte eine Position ** relativ ** machte meine div (s) absolut und entfernt meine Container relativ und es funktioniert brillant: D – Andrew

Antwort

0

Wie in den jQuery docs auf .position() erklärte:

in dem Satz von abgestimmten Elementen, bezogen auf die Offset-Mutter die aktuellen Koordinaten des ersten Elements holen.

Wenn Sie das Lesen zu halten, heißt es

Kontrast dies mit .Offset(), die die aktuelle Position relativ zum Dokument abruft.

Verwandte Themen