在保持可排序性的同时,更改JqueryUI中元素的类可排序

时间:2013-10-10 16:10:35

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

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

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

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

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

N.B我确实保留了占位符元素的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
     {
     }

1 个答案:

答案 0 :(得分:0)