数码资讯
js通过cookie刷新不更改的树菜单
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
通过设置cookie保存树菜单的状态,在加载页面时重新读取cookie来设置菜单。
菜单的HTML结构:
第一级菜单1
二级菜单1
二级菜单2
二级菜单三
二级菜单四
二级菜单五
第一级菜单2
二级菜单1
三级菜单1
三级菜单2
三级菜单三
四级菜单1
四级菜单2
四级菜单三
二级菜单2
二级菜单三
二级菜单四
二级菜单五
第一级菜单三
二级菜单1
二级菜单2
二级菜单三
二级菜单四
二级菜单五
阅读cookie工具类:
Cookie工具类
无功cookietool = { {
读/ cookie
getcookie:功能(c_name){
如果(document.cookie.length > 0){
c_start = document.cookie.indexof(c_name +=);
如果(c_start!= 1){
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexof(;
如果(c_end = = 1){
c_end = document.cookie.length;
}
返回unescape(document.cookie.substring(c_start,c_end));
}
}
返回;
},
设置cookie
setcookie:功能(c_name,价值,expiredays){
无功exdate =新的日期();
exdate.setdate(exdate。getdate)+(expiredays); / /设置日期
c_name + document.cookie ==+逃跑(价值)+((expiredays = = null):到期= ;exdate.togmtstring(+));
},
删除cookie
DelCookie:功能(c_name){
无功exdate =新的日期();
exdate.setdate(exdate。getdate)-(1); / /日期昨天
c_name + document.cookie ==;到期=+ exdate.togmtstring();
}
};
菜单事件绑定:
菜单/事件
$('。treemenu '),Bind(听到咔哒声,函数(){(){
var $ = $(这个);
var id = $ this.attr('id');
VaR子= this.next美元美元('子');
如果($ submenu.length > 0){ / /如果有子菜单
VaR旗=美元(这)。下(子菜单:隐藏)。长> 0真:假;
如果(标志){
submenu.show美元();
{人}
submenu.hide美元();
}
VaR = flag'block:不关;
CookieTool.setCookie (ID, display, 10);
{人}
CookieTool.setCookie(身份证,身份证,10);
无功curid = cookietool.getcookie(ID);
$('。treemenu)。找到(','),RemoveClass(开),AddClass(开);
($ # + curid)。AddClass(' ');
$('。treemenu一{ class=关闭,每个)(函数(){
CookieTool.delCookie($(this)。Attr('id')); / /删除其他选项的饼干
});
}
});
加载页面时重新配置菜单
读取cookie页面加载
$('。treemenu ')。每个(函数(){)
菜单($(this)。Attr('id'));
});
读取cookie显示菜单
功能菜单(ID){
var =美元美元(# + ID);
var cookie = cookietool.getcookie(ID);
如果(cookie){
如果($ this.next('子')。长> 0){
this.next美元('子')。Css(显示器、饼干);
{人}
($ # +饼干),AddClass(' ');
}
}
}
完整的演示:
{ }刷新不更改树菜单(多级菜单)。
注意:Chrome本地控制台不能读取cookie,需要在Firefox或IE或服务器环境中进行测试。
菜单的HTML结构:
第一级菜单1
二级菜单1
二级菜单2
二级菜单三
二级菜单四
二级菜单五
第一级菜单2
二级菜单1
三级菜单1
三级菜单2
三级菜单三
四级菜单1
四级菜单2
四级菜单三
二级菜单2
二级菜单三
二级菜单四
二级菜单五
第一级菜单三
二级菜单1
二级菜单2
二级菜单三
二级菜单四
二级菜单五
阅读cookie工具类:
Cookie工具类
无功cookietool = { {
读/ cookie
getcookie:功能(c_name){
如果(document.cookie.length > 0){
c_start = document.cookie.indexof(c_name +=);
如果(c_start!= 1){
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexof(;
如果(c_end = = 1){
c_end = document.cookie.length;
}
返回unescape(document.cookie.substring(c_start,c_end));
}
}
返回;
},
设置cookie
setcookie:功能(c_name,价值,expiredays){
无功exdate =新的日期();
exdate.setdate(exdate。getdate)+(expiredays); / /设置日期
c_name + document.cookie ==+逃跑(价值)+((expiredays = = null):到期= ;exdate.togmtstring(+));
},
删除cookie
DelCookie:功能(c_name){
无功exdate =新的日期();
exdate.setdate(exdate。getdate)-(1); / /日期昨天
c_name + document.cookie ==;到期=+ exdate.togmtstring();
}
};
菜单事件绑定:
菜单/事件
$('。treemenu '),Bind(听到咔哒声,函数(){(){
var $ = $(这个);
var id = $ this.attr('id');
VaR子= this.next美元美元('子');
如果($ submenu.length > 0){ / /如果有子菜单
VaR旗=美元(这)。下(子菜单:隐藏)。长> 0真:假;
如果(标志){
submenu.show美元();
{人}
submenu.hide美元();
}
VaR = flag'block:不关;
CookieTool.setCookie (ID, display, 10);
{人}
CookieTool.setCookie(身份证,身份证,10);
无功curid = cookietool.getcookie(ID);
$('。treemenu)。找到(','),RemoveClass(开),AddClass(开);
($ # + curid)。AddClass(' ');
$('。treemenu一{ class=关闭,每个)(函数(){
CookieTool.delCookie($(this)。Attr('id')); / /删除其他选项的饼干
});
}
});
加载页面时重新配置菜单
读取cookie页面加载
$('。treemenu ')。每个(函数(){)
菜单($(this)。Attr('id'));
});
读取cookie显示菜单
功能菜单(ID){
var =美元美元(# + ID);
var cookie = cookietool.getcookie(ID);
如果(cookie){
如果($ this.next('子')。长> 0){
this.next美元('子')。Css(显示器、饼干);
{人}
($ # +饼干),AddClass(' ');
}
}
}
完整的演示:
{ }刷新不更改树菜单(多级菜单)。
注意:Chrome本地控制台不能读取cookie,需要在Firefox或IE或服务器环境中进行测试。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。