使用jQuery UI,我試圖創建一個帶有兩個可滾動容器的接口,每個容器都包含許多可拖動元素。用戶可以將一個元素從一個容器拖到另一個容器中。隱藏在容器外的可拖動元素
丟棄功能不是問題。丟棄時,該元素將分離並重新創建在其新父項下的正確位置。
我的問題是可拖動元件不能顯示它的容器外部,當容器已經position:relative;
施加,所以同時拖動,當容器邊界之外移動的元件將會消失。
這種默認行爲是有意義的,因爲通常用戶想要在其容器內拖動元素。作爲一種解決方法,我假設解決方案是使用可拖動屬性「appendTo」,我認爲這會將元素移動到其容器外部,但不幸的是,這似乎沒有任何效果。
DOM:(每個視圖是可滾動的,並且每個容器具有的位置是:相對於和是一樣大,因爲它必須以容納所有元素)
BODY
VIEW 1
CONTAINER
DRAGGABLE ELEMENTS
VIEW 2
CONTAINER
DRAGGABLE ELEMENTS
使用Javascript:
$('div.card').draggable({
appendTo: 'body',
scroll: false //stops scrolling container when moved outside boundaries
});
請參閱JSFiddle以獲取有關該問題的簡單說明。我不想用可丟棄的代碼臃腫的例子,所以這只是說明了拖延的問題。 http://jsfiddle.net/Em7Ak/
非常感謝提前。
幫手:'克隆'適用於我,這是因爲當拖動項被拖出其父邊界之外時,可拖動項不可見。 – Katat
Katat聽起來像你缺少appendTo:解決方案的'body'部分 –
謝謝<3,保存我的日子 –