2014-03-31 102 views
0

我有一個長的嵌套列表,我將其應用於overflow-y:Auto,每個元素都有可分類的小部件附加到它。可排序的可拖動元素不在滾動條中

現在我們面臨的問題是,拖動gable元素走出滾動條容器是不可取的,我明白,位置設置爲絕對和Z指數爲1000,我也明白同時拖動元素時考慮父元素的高度,它可以讓我拖動到僅計算高度。

將位置更改爲相對使我只在滾動條內拖動元素,但其後拖動到的高度也過多。

所需行爲:我們應該只能在滾動條內拖動元素,並且也不能超出最後一個元素的底部偏移位置。

的一段代碼如下:

$(".sortableList").sortable({ 
axis: 'y', 
containment: 'parent', 
tolerance: 'pointer', 
distance: 5, 
start: function (event, ui) { 
    $(ui.item).find('#contain').hide(10, 'swing'); 
    $(ui.item).addClass('setHeight'); 
    ui.placeholder.height(ui.item.height()); 
    $(".sortableList").sortable('refresh'); 
}, 
stop: function (event, ui) { 
    $('#contain').show(10, 'swing'); 
    $(ui.item).removeClass('setHeight'); 
} 

});

的js撥弄鏈接的問題是:http://jsfiddle.net/hK7YT/2/

回答

0

我能得到這個主要是通過與containment選項打工作:http://jsfiddle.net/tj_vantoll/hK7YT/3/。遏制工作,除非你滾動列表進行排序 - 這是jQuery UI自身記錄的問題(http://bugs.jqueryui.com/ticket/9460)。我建議在UI中儘可能地提供列表,以避免需要滾動。

+0

給定的解決方案不適合我們;如果我們這樣做了,選定的項目將從共享小提琴演示中發生的實際位置跳下。另外,給我身高的建議對我來說是不可能的,因爲我有'N'個節點;這是動態的。 –

相關問題