ztree :http://www.ztree.me/v3/main.php
项目中用到了这个插件,刚好也有需求 在页面刷新后,保存开始的展开、折叠状态,
其实 dtree: http://www.destroydrop.com/javascripts/tree/ 原生就支持了,不想折腾的,可以直接用这个,
我不使用 dtree 是因为 以前项目中使用过 ztree ,且自定义了皮肤,so ....
简单说下,实现原理
1. 在 onCollapse , onExpand 里面使用 cookie 记录展开的 node id,如果树比较庞大,可能会超过 cookie 容量,请自行斟酌,
2. 在 ztree init 之前,手动去处理数据源的每个 node 的 open(是否默认展开) 属性,其实就是拿 node id 去 cookie 里面去对比,如果有 open 为 true,否则 ...
其实你应该也能想到,如果 node 比较多,一个一个去处理,也可能会有性能瓶颈;
整体实现方法不是很完美,但是粗糙能用,希望官方早日做扩展支持,
code :https://github.com/twoer/zTree_v3/blob/master/js/jquery.ztree.exlog-0.1.js
如有问题、建议,请留言反馈,谢谢!