jQuery UI를 사용하여 퍼즐을 작성하려고합니다. 나는 퍼즐, #splinter 및 컨테이너 #vase의 일부를 posision을 가지고있다 :드래그 가능 및 드롭 가능한 동적 위치 지정
<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