아래의 미니멀리스트 작업 예제는 'one'상자를 드래그하여 '2'상자에 놓으면 두 상자를 서로 바꿉니다. 문제는 상자 '하나'가 떨어지면 그 스타일의 '상단'이 & '왼쪽'값으로 떨어지게됩니다. 클래스에는 'ui-draggable-dragging'이 포함됩니다. 상단에있는 & 왼쪽 값은 요소가 놓기 전에 드래그 된 양과 관련이 있습니다. 그리고 끌기는 '중단되었으므로'잔여 '유감스럽게 드래그 할 수있는'수업 이었습니까?2 개의 jQuery 드래그 가능 목록 항목이 올바르게 작동하지 않습니다 (jsFiddle 예제 사용)
스왑을 원활하게 작동시키기 위해 누락 된 사항은 무엇입니까?
<html>
<head>
<script type="text/javascript" src="includes/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="includes/jquery-ui-1.8.2.custom.min.js"></script>
<script type="text/javascript">
jQuery.fn.swapWith = function(to) {
return this.each(function() {
var copy_to = $(to).clone(true);
var copy_from = $(this).clone(true);
$(to).replaceWith(copy_from);
$(this).replaceWith(copy_to);
});
};
$(document).ready(function() {
options = {revert: true};
$("li").draggable(options)
$('#wrapper').droppable({
drop: function(event, ui) {
$(ui.draggable).swapWith($('#two'));
}
});
});
</script>
</head>
<body>
<form>
<ul id="wrapper">
<li id='one'>
<div style="width: 100px; height: 100px; border: 1px solid green">
one<br /></div>
</li>
<li id='two'>
<div style="width: 110px; height: 110px; border: 1px solid red">
two<br /></div>
</li>
</ul>
<br />
</form>
</body>
</html>