jQuery可排序(拖放)仪表板容器

时间:2013-06-20 15:08:09

标签: javascript jquery html jquery-ui jquery-ui-sortable

方案:

我正在尝试创建一个各种各样的小部件的仪表板。我希望用户能够根据自己的喜好安排他们的小部件。

我一直在尝试使用 portlets 示例实现jQuery UI的可排序交互,但我遇到了一些麻烦。

enter image description here

什么在起作用:

我可以在同一行的列之间拖放/重新排列容器。

什么不工作

我无法在行之间拖动容器。

我的问题:

如何在行列之间启用拖放?

jsFiddle演示:

http://jsfiddle.net/SWUTR/


相关HTML:

<div class="column">
    <div class="container span2"></div>
    <div class="container span2"></div>
</div>
<div class="column">
    <div class="container span1"></div>
    <div class="container span2"></div>
    <div class="container span1"></div>
</div>
<div class="column">
    <div class="container span4"></div>
</div>

相关CSS:

.column .container {
    float:left;
    margin:5px;
    min-width:100px;
    height:250px;
    background:#39F;    
}
    .column .container.span1 {
        width:calc(25% - 10px); 
        background:#6CC;
    }
    .column .container.span2 {
        width:calc(50% - 10px); 
        background:#6F6;
    }
    .column .container.span3 {
        width:calc(75% - 10px); 
        background:#99C;
    }
    .column .container.span4 {
        width:calc(100% - 10px);
        background:#33C;    
    }

相关的jQuery:

$(".column").sortable({
    connectWith: ".column"
});
$(".column").disableSelection();

1 个答案:

答案 0 :(得分:5)

我认为问题出在CSS中。 将以下行添加到.js时,它将起作用:

$(".column").addClass("ui-helper-clearfix");

来自文档:

  

.ui-helper-clearfix:将浮动包装属性应用于父元素

http://wiki.jqueryui.com/w/page/12137970/jQuery%20UI%20CSS%20Framework