Jquery Treeview切换问题

时间:2013-10-18 08:13:55

标签: javascript jquery treeview

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

Fiddle here

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

要测试...转到小提琴,单击全部折叠,然后全部展开,您将看到无法正常展开的节点,但它& #39; s +图标变成了 - 图标,这样至少是正确的。

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

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

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

// 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);

1 个答案:

答案 0 :(得分:2)

只需查看链接http://www.dynamicdrive.com/dynamicindex1/treeview/demo/index.html即可。在这里,他们不使用cookie来保存折叠和扩展数据。这就是为什么它的工作完美。如果我们使用cookie,那么崩溃和扩展就不一致了。

只需改变 $( “树状”)。树状({         控制:“#treecontrol”     }); 与

$( “树视图”)。树状({         控制:“#treecontrol”,      动画:“快”     });

看,它完美运作