javascript - 水平和垂直可排序 div

标签 javascript html css jquery-ui

我想通过可排序网格获得我的问题的答案。我有 2 行,均包含 3 列。

<div id="sortable" class="connectedSortable">
<div class="row">
    <div class="column">column</div>
    <div class="column">column</div>
    <div class="column">column</div>
</div>
<div class="row">
    <div class="column">column</div>
    <div class="column">column</div>
    <div class="column">column</div>
</div>
</div>

我希望这些可以垂直(列)和水平(行)排序 这是我的 CSS:

    .row {  height: 200px;  }

    .row:nth-child(even) {  background: lightgray;  }

    #sortable {  height: 100px;  }

    .column {
        float: left;
        display: inline-block;
        width: 33.3%;
        height: 200px;
    }
    .column:nth-child(odd) {  background: red;  }

    .row:nth-child(2){
        background:yellow;
    }

    .row:nth-child(2) .column:nth-child(odd) {  background: pink;  }

看起来像这样: enter image description here

我无法选择第一行或第二行来垂直改变位置,我认为这是因为列也可以排序,并且列使用了行的整个宽度。

我唯一使用的 jQuery 如下(使用 jQueryUI):

$(function () {
        $("#sortable, .row").sortable({
            connectWith: ".connectedSortable"
        }).disableSelection();
    });

J fiddle : JsFiddle

最佳答案

我已经通过使用“元素”和占位符 div 解决了我的问题。不知何故,使用 placeholderdiv 使我能够选择行 block 。现在我可以选择一行(通过将鼠标靠近行的顶部)和第一列。

    $("#sortable, .row").sortable({
            items: ".row, .column"
    });

参见 JSFiddle https://jsfiddle.net/ort8zLmf/5/

但我想有一个更好的解决方案。

关于javascript - 水平和垂直可排序 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44433467/

相关文章:

javascript - 使用 RPC 时如何添加方法?

javascript - 你能解释一下这个 jQuery 方法吗?

javascript - 创建 react 应用程序在代码重新加载时偶尔会随机崩溃

html - 我将如何制作我的 q 和这样的页面 : http://www. text-link-ads.com/r/faq

css - 无法在所有移动浏览器上居中 - 普通浏览器效果极佳

javascript - 模拟拖放文件以在 Protractor 中上传

javascript - 使用 javascript 进行表单验证,仅验证第一个字段,即使它应该验证两个字段

javascript - 使 float 元素占用可用空间

javascript - 使用 getElelementsByClass 翻转多张卡片

javascript - 使用 css 和 javascript 创建动态垂直百分比条?