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
如有問題、建議,請留言反饋,謝謝!