2

我正在测试Jquery Treeview并找到一个我无法弄清楚的错误。

在这里提琴

似乎正在发生的事情是切换在第一、第二级嵌套上变得混乱。

要测试...转到小提琴,单击全部折叠然后全部展开,您会看到没有正确展开的节点,但它的 + 图标变成了 - 图标,所以至少这是正确的。

这是一个已知的错误?它也发生在他们的演示中。

我知道有更多最近的插件声称可以做同样的事情,但我喜欢它的简单性(假设我可以解决这个错误!)

我很确定错误在切换器中,并且猜测它没有正确递归:

// handle toggle event
        function toggler() {
            $(this)
                .parent()
                // swap classes for hitarea
                .find(">.hitarea")
                    .swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
                    .swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
                .end()
                // swap classes for parent li
                .swapClass( CLASSES.collapsable, CLASSES.expandable )
                .swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
                // find child lists
                .find( ">ul" )
                // toggle them
                .heightToggle( settings.animated, settings.toggle );
            if ( settings.unique ) {
                $(this).parent()
                    .siblings()
                    // swap classes for hitarea
                    .find(">.hitarea")
                        .replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
                        .replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
                    .end()
                    .replaceClass( CLASSES.collapsable, CLASSES.expandable )
                    .replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
                    .find( ">ul" )
                    .heightHide( settings.animated, settings.toggle );
            }
        }
        this.data("toggler", toggler);
4

1 回答 1

2

只需检查链接http://www.dynamicdrive.com/dynamicindex1/treeview/demo/index.html。在这里,他们没有使用 cookie 来保存折叠和展开数据。这就是它完美运行的原因。如果我们使用cookie,那么它们的折叠和展开是不一致的。

只需更改 $(".treeview").treeview({ control: "#treecontrol" }); 和

$(".treeview").treeview({ control: "#treecontrol", 动画: "fast" });

看看,它工作得很好

于 2013-10-18T09:48:53.340 回答