jQuery UIを使用してパズルを構築しようとしています。私はそれをposisionするパズル、#splinterとコンテナ#vaseの部分を持っている:ドラッグ可能でドロップ可能な動的ポスティング
<div id="vase">
<div id="target"></div>
</div>
<div class="splinter splinter-1" data-target-x="53" data-target-y="90">
<img src="splinter-1.png" />
</div>
私はドロップ可能の位置を設定するために部品のデータ属性を使用します。これは機能しますが、スナップ領域は再計算されません。部品は元の位置にスナップします。
$('.splinter').draggable({
revert: 'invalid',
snap: '#target',
snapMode: 'inner',
start: function (event, ui){
var $target = $('#target');
$('#vase').append($target);
$this = $(this);
$('#target').droppable('destroy').droppable({
accept: '.splinter'
});
$target.css({
width: $this.width(),
height: $this.height(),
left: parseInt($this.attr('data-target-x')),
top: parseInt($this.attr('data-target-y'))
});
$this.draggable('option', 'snap', '#target');
},
stop: function (event, ui){
$this = $(this);
$this.draggable('destroy');
}
});
編集:私は要素をドラッグしてから、再度スナップのdivにドラッグし、それをそれを解放すると、それが動作することが判明
。もちろん、私はそのための復帰オプションを無効にする必要があります。誰もこの行動を前に消したのですか?
おかげであなたはおそらくrefreshPositions使用する必要が
ルーカス
私もそれを試みました。それは私の問題を解決しません。 – luksak
私の編集を見てください。 – luksak
位置が再計算されていないのとよく似ています。あなたは、jquery ui draggableとdroppable glitchを実行しているかもしれません。おそらくドラッグの前にあなたの位置を設定しますか?正直言って、私は私の目的のためにそれを使用するにはあまりにも多くの問題を発見する前にdraggable/droppableを使用して簡単に調べただけです。 – aepheus