2012-10-31 65 views
3

我在這裏有一個JSfiddle展示我的問題。 http://jsfiddle.net/J6uM5/4/可重排列表重疊和防止拖放

<div id="list-A" style="height:50px; overflow-y:scroll; border:1px solid red"> 
<ul class="sortable"> 
    <li>item 1</li> 
    <li>item 2</li> 
    <li>item 3</li> 
    <li>item 4</li> 
    <li>item 5</li> 
    <li>item 6</li> 
    <li>item 7</li> 
    <li>item 8</li> 
    <li>item 9</li> 
    <li>item 10</li> 
    <li>item 11</li> 
    <li>item 12</li> 
    <li>item 13</li> 
    <li>item 14</li> 
    <li>item 15</li> 
    <li>item 16</li> 
</ul> 


<div id="list-B"> 
<ul class="sortable"> 
    <li>item 4</li> 
    <li>item 5</li> 
    <li>item 6</li> 
</ul> 

這裏是JS

$(function() { 
$('.sortable').sortable({ 

    connectWith: ".sortable", 
    scroll:false, 

}).disableSelection(); 

});

問題是sortable1(雖然被div隱藏)仍然擴展到dom中的sortable2。爲了成功將一個項目從list1拖到list2,必須將其滾動到list1的底部,或者如果向下滾動得足夠遠以至於list1不會與list2重疊。任何工作將不勝感激。

+0

我一直在搞這個問題已經有一段時間了,看起來這個問題在Firefox中最明顯,鉻處理這種情況要好得多,甚至不能說出問題。 – user1789103

回答

1

通過設置實際的可排序列表(ul)而不是包裝的高度/溢出,它似乎工作。

#sortable1 { 
    height:25px; 
    overflow-y:scroll; 
    padding-bottom:35px; 
} 

在這裏看到:

http://jsfiddle.net/J6uM5/8/

是不是你想要的?

+0

在我的原始代碼中,我確實將樣式直接應用於列表。我仍然遇到同樣的問題。奇怪的是你提交的代碼似乎有用,我很困惑它爲什麼不適合我。 – user1789103

+0

謝謝你的幫助,它確實有效,但它很麻煩。 – user1789103