我的标记看起来大致如下:
<div class='root'>
<div class='wrapper'>
<div class='column'>
...
</div>
...
</div>
</div>
根div有overflow: auto
,宽度/高度可能会改变。列具有固定的宽度并向左浮动。包装器具有对应于列宽的总和的固定宽度。最终结果是视图中的一组水平布局列,当列高度或总列宽超过其边界时显示滚动条。
我已经将一个jQuery UI应用于包装器div,因此可以对里面的列进行排序。这很有效,除了一个问题:sortable给元素排序position: absolute
,这显然将它从正常布局中删除。因此,如果列非常高,整个页面将获得一个滚动条,直到元素被放回原位。
即使在排序时,有没有办法让可排序助手仍然包含在滚动div中?
答案 0 :(得分:1)
我认为这可能适合你。
您可以选择使用以下内容附加可排序助手的位置:
$( ".selector" ).sortable({ appendTo: 'div.wrapper' });
来自文档:
“appendTo:定义在拖动过程中附加鼠标移动的辅助对象的位置(例如,解决重叠/ zIndex问题)。”