【问题标题】:Changing the class of an element in JqueryUI sortable while maintaining sortability在保持可排序性的同时更改 JqueryUI 中可排序元素的类
【发布时间】:2013-10-10 16:10:34
【问题描述】:

我正在使用 JqueryUI 对树中一组嵌套的 olli 元素进行排序。我还在每个叶节点放置了空的ol 元素,以便可以将子节点添加到叶节点。

目前空占位符一直显示并且工作正常。但是我想隐藏它们,直到我开始对 ulli 元素进行排序。
通过使用 Jquery,我可以更改空元素的 css 类以根据需要显示和隐藏它们(添加或删除边框和高度)。我已将这些连接到.sortable 中的startstop 事件,这种显示/隐藏也有效。

但是,占位符不再用作接受其他可排序元素的区域。

如何解决此问题,以便占位符在更改类后仍可用作有效的可放置区域。

注意,我确实保留了占位符元素的 ui-sortable 类。

谢谢。

代码:

$(".sitemapList").sortable(
{
    placeholder: "ui-state-highlight1",
    distance: 5,
    connectWith: ".sitemapList", 
    start: function (event, ui)
    {         
        var change = $(".dontShow");
        var length = change.length;
        for (var i = 0; i < length; i++)
        {
            $(change[i]).attr("class", "sitemapList show ui-sortable");
        }
    },
    stop: function (event, ui)
    {
        var change = $(".show");
        var length = change.length;
        for (var i = 0; i < length; i++)
        {
            $(change[i]).attr("class", "sitemapList dontShow ui-sortable");
        }
    }
});

CSS:

    .siteMap ol.show  
     {
        min-height:28px;
        width:15%;
        /*background-color:#f7eac9;*/
        border:dotted 1px;
     }

    .siteMap ol.dontShow
     {
     }

【问题讨论】:

  • 如果你能发布一些代码会更容易

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


【解决方案1】:

【讨论】:

  • 我已经有了嵌套的可排序列表。但是,当我更改其中一个元素的 css 类以影响其大小和边框时,它将停止排序。
  • 确保你的可排序事件在你添加这个类之后也被初始化。也许这会有所帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多