2012-04-09 2 views
1

Ich möchte irgendwo auf der Seite Schaltflächen hinzufügen, um JQuery Draggable-Elemente ohne Ziehen der Maus, d. H. Programmgesteuert, zu bearbeiten. Mit anderen Worten, ich möchte ziehbares Element innerhalb seines Containers nach oben oder unten, links oder rechts verschieben (oder verschieben), je nachdem, auf welche Schaltfläche der Benutzer klickt. Wie kann ich es tun? Ich kann diese Option in Dokumenten nicht finden. Manipuliere ich einfach CSS links/oben, um es zu erreichen und stelle sicher, dass ich nicht außerhalb des Containers gehe?JQuery Draggable zum programmgesteuerten Ziehen in die Position

$(".drag-view").draggable({drag:function(event, ui){containment:a /*...*/}}); 
+0

Draggable bietet diese Schnittstelle nicht. Sie müssen es mit einem separaten Skript tun. Es wird nicht das 'stop' Ereignis für Sie auslösen, also müssten Sie das manuell auslösen, wenn Sie es zum feuern brauchten. –

Antwort

6

Sie könnten das Element auf dem Bildschirm zeichnen und dann $ .animate() verwenden, um es in Position zu verschieben. Das Element müsste absolut positioniert werden, um auf diese Weise zu animieren und wäre, wie Sie bereits erwähnt haben, ein Ergebnis von oben und links.

+0

Travis, denkst du, er muss in Erwägung ziehen, das 'stop'-Ereignis auszulösen, abhängig davon, was sein Code macht? –

+0

@cale_b - Ich denke, das würde von seinen Anforderungen abhängen. Stopp könnte verwendet werden, wenn die Animation durch ein Zieh-Ereignis unterbrochen wird. –