jquery - 用于处理不同大小元素的两列 jQuery UI 可排序列表网格的 CSS

标签 jquery css jquery-ui jquery-ui-sortable

我正在尝试创建一个可拖放的两列可排序列表。我已经用一个 <ul> 设置了 jQuery UI 的 SortableList和 <li>那是 float:left<ul> 宽度的一半

这是代码和示例:http://jsfiddle.net/elidickinson/hjnkg/

基本上,我想消除该 jsfiddle 链接中 item3 和 item5 之间的差距。我希望能够拖动这些元素中的任何一个,而不留下任何内部间隙。

我在 CSS 中没有看到任何明显的方法来解决这个问题,所以我最好的想法是编写一些 JS 来查找出现在右侧列中的任何“高”元素并将它们切换为 float:right .这应该可以解决问题,但我希望有一个更优雅的解决方案。

我也对任何替代方法持开放态度,例如使用两个没有 float 的单独列。这解决了“高元素”的问题,但我认为处理占据两列的“宽”元素需要一些 CSS 魔法。

最佳答案

现有的插件都不允许拖动排序。我能找到的最接近的是 http://isotope.metafizzy.co/index.html ,它确实有一个可按按钮排序的选项。这是一个非常复杂的问题,我认为还没有人做过,至少没有公开做过。这是同位素创建者的帖子:http://metafizzy.co/blog/mythical-drag-drop-multi-column-grid-plugin/

但是,如果你想让占位符大小相同,可以这样做:

$('#list').sortable({ 
        placeholder: "ui-state-highlight",
        tolerance:'pointer',
        start: function (event, block) { 
            // set the placeholder size to the block size
            $('.ui-state-highlight').css({
                'width':$(block.helper).outerWidth(),
                'height':$(block.helper).outerHeight()
            });             
        }
    });

关于jquery - 用于处理不同大小元素的两列 jQuery UI 可排序列表网格的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10406516/

相关文章:

javascript - Rails 应用程序中的 jQuery Tablesorter 文件大小

javascript - 触发器不适用于 .change jQuery 上添加的动态内容

javascript - 将鼠标悬停在链接上 1500 毫秒后显示图像

jquery - 如果 id 有这些 "{}"大括号,则无法访问该元素

css - 如何使外边距成为列网格中装订线大小的两倍?

html - 找出icon-font图标的unicode字符编码

javascript - 如何在不同 tr 中的 td 之间添加边框?

jquery - Jquery UI Sortable 的边距变化

javascript - 为什么 jQueryUI Accordion 不能与 ajax 调用后绘制的 div 一起使用?

javascript - 将页面保存为 HTML 文件,包括通过 JavaScript/jQuery 新添加的元素