jquery ztree 刷新后记录折叠、展开状态
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
如有问题、建议,请留言反馈,谢谢!
jquery ztree 刷新后记录折叠、展开状态的更多相关文章
- elementui左侧菜单栏刷新后还是原来的状态
<template> <div id="leftMenuList"> <el-row> <el-col :span="24&qu ...
- select刷新后,保持选定状态,Cookies存储select选定状态信息
//cookies存储select选定值,防止刷新后没了 window.onload = function () { var cooki = document.cookie; if (cooki != ...
- js实现F5键刷新后菜单保持之前状态以及监听F5页面刷新子iframe 而父页面不刷新
利用layui实现菜单效果时,刷新页面仍回到首页状态,需要 实现iframe子页面刷新父元素不刷新,下面是代码 //刷新时禁用F5的默认事件 $(document).keydown(function ...
- jQuery.zTree的跳坑记录
最近项目用到树型结构的交互,一开始并不打算选择zTree,为了项目进度我妥协了,这一妥协后果就是我进坑了,在2天的挣扎中,我终于跳出坑了,活了下来,有一些感慨纪录下来. 有一个业务场景需要2个树型结构 ...
- java组件不存在解决方案:右侧Maven Projects展开后左上角第一个刷新按钮 刷新后就会从新加载所有java的依赖项了
java组件不存在解决方案:右侧Maven Projects展开后左上角第一个刷新按钮 刷新后就会从新加载所有java的依赖项了 软件:idea 问题产生:其他同事进行开发,引入新java组件后提交 ...
- Element MenuNav刷新后点击菜单保留选中状态
正常情况刷新后选中菜单会失去选中的状态,需要把default-active 当前激活菜单的 index保存下来这样刷新后读取 methods方法中增加 getSess() { this.active ...
- QTreeWidget更新后保存节点的展开状态
class Xx : public QWidget { Q_OBJECT struct ItemState{ ItemState(); int _id; bool _isExpend; }; publ ...
- jQuery Ztree基本用法
1.首先在页面上有<ul/>标签 <ul id="tree" class="ztree"></ul> 2.定义ztree的配 ...
- jq生成目录文件树jQuery Ztree基本用法
转自:http://www.cnblogs.com/linjiqin/p/4547452.html 1.首先在页面上有<ul/>标签 ? 1 <ul id="tree&qu ...
随机推荐
- Prime is problem - 素数环问题
题目描述: A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each ...
- thinkphp模板中无法给自定义函数传多个参数
1.模板的用法 {:function(param1,param2,param3...)} 2.实例 <td>{:getChannelInfo($adminId,$v['sale_id']) ...
- Linux下安装subversion1.6.5和apache2
以下安装是在RHEL5.5默认安装的情况下,以root身份进行安装!这个实验我安装了n次,最后总是不成功,因为涉及到略多的软件和配置.下面是安装步骤和配置,自己记下来.希望给下次配置的时候不要像以前那 ...
- Ocx控件注册不成功?可能是tlb文件导致~
Ocx文件是最常用的文件,实际操作中常常需要注册之~ 但是问题来了,经常会出现注册不成功的问题: 解决方法: 1.以“管理员身份”注册 2.Dependency Walker查看依赖是否缺失 3.查看 ...
- Http post请求数据带中文参数问题
Http请求参数带中文参数时,如{"userName":"用户名123","password":"123456"} 请求 ...
- JavaScript正则表达式1
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码. 正则表达式可以: •数据有效性验证.可以 ...
- C# 温故而知新:Stream篇(二)
TextReader 和StreamReader 目录: 为什么要介绍 TextReader? TextReader的常用属性和方法 TextReader 示例 从StreamReader想到多态 简 ...
- 3dsmax sendto mudbox失效解决方案
查看C:\ProgramData\Autodesk\Synergy下的max.2014.1.64.syncfg和Mudbox.2014.0.Windows.64.syncfg两个文件, 找到 Exec ...
- 安卓教程:提取APK程序里图片资源的方法
有些APK程序里的图标.图片很漂亮,在使用程序时你可能会想,如果能把这些漂亮的图标.图片提取出来就好了,其实这是可以办到的,请看教程. 本教程以“电影超人”的APK安装包为例,其它APK程序的提取方法 ...
- CentOS6.4配置163的yum源
CentOS系统自带的更新源的速度实在是慢,为了让CentOS6使用速度更快的YUM更新源,可以选择163(网易)的更新源. 1.下载repo文件 wget http://mirrors.163.co ...