• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[JQUERY] Komfortables Drag'n'Drop einer mehrdimensionalen Liste

karuzo

New member
Moin,

[Da ich neu hier bin, eine kurze Vorstellung. Ansonsten einfach zum nächsten Absatz springen]
kurz vorgestellt; mein Name ist Hans Peter Wurst oder einfach karuzo, ich bin 18 Jahre alt und beschäftige mich mit Webentwicklung seit 2 Jahren und werde derzeit zum Fachinformatiker für Anwendungsentwicklung ausgebildet.

mein Ziel ist es eine komfortable Menü/Listen-Sortierung mittels Drag'n'Drop und eurer Hilfe (in Form von Anregungen o.ä.) zu bauen.

Wie ich Drag'n'Drop angemessen anwende weiß ich; allerdings fehlt mir eine saubere Umsetzung für eine dem späteren Anwender komfortable Lösung.

Zu Anfang habe ich eine ungeordnete Liste, dessen Elemente ich verschieben möchte. Das ist grundsätzlich kein Problem, allerdings möchte ich zwischen den Elementen ein "Fake"-Element bzw. einen Platzhalter, welcher das ganze einfacher bzw. ansehlicher machen soll, da es später die Möglichkeit besteht, ein Element als ein Element in einer neuen Liste als Kind-Element hinzuzufügen. (Ich hoffe das ist soweit verständlich, nun gut wir haben gerade kurz vor 2 Uhr)

Hier eine Liste mit Platzhalter um dessen Kind-Elemente:
Drag'n'Drop Menu Tree
Ich hoffe diese Art der Veranschaulichung geht in Ordnung.

Ein Platzhalter soll aber nur angezeigt werden, wenn ich mit meiner Maus .. in der nähe bin? darüber fahre? Hier hakt es bei mir etwas. Nun, ich könnte sie anzeigen wenn ich über ein Element mit der Maus fahre. Ich könnte sie wieder verstecken wenn ich das Element verlasse. Aber hier ist mein richtiges Problem: Wenn ich das so baue, wie beschrieben, würde der Platzhalter angezeigt werden, sobald ich darüber fahre. Dabei wird das auslösende Element aber verschoben werden, somit mein Maushover verlieren und der Platzhalter müsste wieder verschwinden (Dabei ist zu beachten, dass der Platzhalter genauso hoch ist, wie ein normales Element). Das ganze würde dann wieder und wieder passieren. Ich weiß hier noch kein gescheiten Weg um das Problem zu lösen. Wahrscheinlich ist das ganze simpler als ich selber glaube.

Allerdings kam mir vor etwa einer Stunde die Idee, die Platzhalter anzuzeigen, wenn meine Maus in der nähe ist. So würde ich mit jedem mousemove-Event durch alle Platzhalter gehen und den Abstand zwischen dem und meiner Maus überprüfen und je nach dem diesen anzeigen oder eben nicht. Vor dieser Lösung hüte ich mich aufgrund der Befürchtung, dass dieser Weg grundlegend unperformant sein könnte. Möglicherweise ist das ein Weg, der funktioniert - aber eben auch nicht gescheit. Was denkt ihr?

Ich hoffe mein Problem soweit angemessen Beschrieben zu haben (auch um 2 Uhr morgens) und freue mich auf Anregungen, Hilfe und konstruktive Kritik.

karuzó.O

P.S.: Besteht wohlauf die Möglichkeit, dass ich hier nur Grütze geschrieben habe.. sollte sich jemand von euch dem dennoch gestellt haben und bereit sein mir zu helfen, danke dafür!
 
Hallo karuzo
Ich habe hier so ein Script hinterlegt dabei verwende ich Platzhalter die mit den gezogenen Items getauscht werden.
mfg Andreas
 
Zurück
Oben