Hallo Admins, Member und simple Leser, wünsche allen ein frohes neues Jahr und komme jetzt schon zu meinem Anliegen, da ich euch nicht im Skype habe ... wahrscheinlich mal wieder eines der Bonbons, die schnell gelutscht sind ... ^^
Worum geht's?! Genau ... Drag'n'Drop via UI aus dem jQuery Baukasten - feine Sache ... eigentlich!! Wenn es da nicht immer so invidiuelle Wünsche geben würde ... versuche ich also mal eine Erklärung, die mir auf deutsch bestimmt besser gelingt als mit den anderen Möglichkeiten:
Ich habe einen draggable Droppable, der einen Draggable aufnehmen soll, welcher sich aber beim erneuten Draggen mitbewegen muss, wodurch eine Abhängigkeit vom neuen (!) Parent geschaffen werden müsste ...
Source im Kurzformat:
Code:
<div id="p1" class="movers"><div id="pp1" class="moverscontent"></div></div>
Obiges ist ein beweglicher #p1, der in #pp1 den gleich kommenden Draggable aufnehmen soll. Beide IDs bestehen nur aus Width/Height Angaben ... gänzlich unspektakulär! #p1 ist noch in einem "containment" verankert, um über einen äußeren Container nicht hinaus verschoben werden zu können.
Code:
<div id="demo" style="..." class="vodoo"></div>
Obiges ist der Draggable, der in #pp1 niedergelassen werden sollte ... kommen wir also zum Kern des Spaßes:
Code:
$('#p1').draggable({
containment: '#mainview', // äußere Grenze; auch ein DIV
scroll: false,
opacity: 0.35,
cursor: 'move',
stop: function(event, ui){
// report position
//alert("x: " + ui.position['left'] + " | y: " + ui.position['top']);
}
}).fadeTo("fast", 0.35);
$('#pp1').droppable({
accept: '.vodoo',
tolerance: 'touch',
hoverClass: 'drophover',
drop: function(event, ui){
// report draggable-id for droppable???
}
});
$("#demo").draggable({
revert: 'invalid',
snap: true,
snapMode: 'inner',
snapTolerance: 20
});
Das funktioniert eigentlich auch schon ganz ansehnlich (Toleranz von #demo ist noch zu gering). Nur leider komme ich nicht an den neuen Parent (nach dem Drop) von #demo heran - das müsste nämlich #pp1 sein, oder? Mein Plan war, diesen via 'option','containment','#pp1' für #demo zu binden ... das ging in die Hose. Demnach verweigert #demo auch das "Mitreisen", wenn #p1 verschoben wird ...
Wer sich nun fragt, warum ich mit #p1 und #pp1 arbeite, so liegt es an dem ausbleibenden Erfolgserlebnis, dass .droppable und .draggable direkt auf einer ID angewandt werden können - das klappte nämlich gar nicht.
Nun habe ich hier mit dem Forum schon sehr gute Erfahrungen gemacht. Ich hoffe, dass erneut jemand kurz meinen Plan überdenkt ... vielen Dank schon jetzt für Deine Zeit, die Du für das Lesen bis zu dieser Stelle gegeben hast.
Viele Grüße
Curanai