私はこの問題を解決する方法を探していましたが、まだ解決策を見つけていません。ドラッグ可能な要素を含むスクロール可能な領域内にリストがあります。親divの外側の要素をドロップ可能な領域にドラッグできるように設定しようとしていますが、ドラッグしようとすると、親div内を移動しているように見えます。
.inputs{
overflow-y: scroll;
overflow-x:visible;
height: 100px;
float:left;
}
ul{
width:50px;
float:left;
}
.spaces{
float:right;
border: 0px;
width: 500px;
}
.spaces td {
background-color:#666666;
margin:2px;
width:184px;
height: 99px;
border:0px;
}
これは、ドラッグ可能およびドロップ可能なアイテムのコードです
$(".inputs li").draggable( {
opacity: .4,
create: function(){$(this).data('position',$(this).position())},
cursorAt:{left:15},
cursor:'move',
revert:function(event, ui) {
$(this).data("draggable").originalPosition = {
top: 0,
left: 0
};
return !event;
},
start:function(){
$('.info').css('visibility', 'hidden');
}
});
$('.spaces').find('td').droppable({
drop:function(event, ui){
snapToMiddle(ui.draggable,$(this));
$(this).droppable('option', 'accept', ui.draggable);
$(this).css('background-color', 'red');
},
out: function(event, ui){
$(this).droppable('option', 'accept', '.inputs li');
$(this).css('background-color', '#666');
}
});
});
<div class="inputs">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</div>
<br/>
<table class="spaces">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td class = "hidden"></td>
<td></td>
<td></td>
<td></td>
<td class = "hidden"></td>
</tr>
<tr>
<td class = "hidden"></td>
<td class = "hidden"></td>
<td></td>
<td class = "hidden"></td>
<td class = "hidden"></td>
</tr>
</table>