2010-12-15 18 views
2

Kürzlich bin ich zu einer Sackgasse mit dem Drag & Drop auf jQuery gekommen.jQuery Drag & Drop Positionsfehler

Ich habe einige div-Elemente innerhalb eines Div-Containers, alle diese Elemente sind mit oberen und linken CSS-Attribute positioniert. Einige dieser Elemente müssen ausgeblendet bleiben (css display: none) und wenn ein bestimmtes Ereignis ausgelöst wird, müssen einige der versteckten Elemente angezeigt werden: . So weit sind wir gut, denn , obwohl die Elemente ausgeblendet wurden, wenn sie gezeigt werden, sind sie auf ihren korrekten Stellen mit der Oberseite und der Linken, die sie gegeben wurden. Das Problem beginnt, wenn eines dieser zuvor ausgeblendeten Elemente an einen anderen Ort gezogen wird, um positioniert zu werden; aus irgendeinem seltsamen Grund, wenn der Ziehvorgang beginnt, das Element statt an der Cursorposition zu bleiben, es geht wie 300px unter dem Cursor und 200px nach links. Warum passiert das, wie kann ich das Problem lösen?

+2

Schwer zu wissen, ohne etwas Code zu sehen ... – rsenna

+0

Haben Sie ein Beispiel Ihrer Quelle HTML/CSS/JS für uns zu betrachten? – iivel

Antwort

0

Ich habe noch nicht ziehbar Objekte verwendet, aber die Website sagt ...

Um die Position eines ziehbar während Drag zu manipulieren, können Sie entweder einen Wrapper als ziehbar Helfer verwenden können und die eingewickelt positionieren Element mit absoluter Positionierung, oder Sie können wie so interne Werte korrigieren:

$(this).data('draggable').offset.click.top -= x 

Sie auch einen Stil der .ui-draggable-dragging Klasse anwenden können, aber das ist nur ein Band-Aid.