Javascript JS隐藏和显示div,刷新后保存
我的网站上几乎没有大的块。Javascript JS隐藏和显示div,刷新后保存,javascript,php,html,css,Javascript,Php,Html,Css,我的网站上几乎没有大的块。 有些用户想要隐藏这些块 我通过按下按钮成功隐藏了块,但刷新后未保存 我该怎么做? 让用户隐藏和显示块,并在刷新后保存。您可以记住块的状态,即客户端(在网络中或使用网络)或服务器端(存储在服务器上供用户使用的设置)。然后,在服务器上呈现页面时(如果在服务器上存储了设置),或者在加载页面时(如果在客户机上),根据设置显示或隐藏块 在客户端,本地存储比Cookie更容易处理,而且非常简单。如果您想在客户端执行此操作,下面是一个使用本地存储的示例:| JS-Bin 显示框1
有些用户想要隐藏这些块 我通过按下按钮成功隐藏了块,但刷新后未保存 我该怎么做?
让用户隐藏和显示块,并在刷新后保存。您可以记住块的状态,即客户端(在网络中或使用网络)或服务器端(存储在服务器上供用户使用的设置)。然后,在服务器上呈现页面时(如果在服务器上存储了设置),或者在加载页面时(如果在客户机上),根据设置显示或隐藏块 在客户端,本地存储比Cookie更容易处理,而且非常简单。如果您想在客户端执行此操作,下面是一个使用本地存储的示例:|
JS-Bin
显示框1
显示框2
方框1
方框2
(功能(){
var显示;
showing=JSON.parse(localStorage.showing | | |“null”);
如果(!显示){
显示={
框1:是的,
框2:对
};
}
否则{
展示箱(1,展示箱1);
展示箱(2,展示箱2);
}
document.getElementById(“chk1”).onclick=
document.getElementById(“chk2”).onclick=
cbc;
函数cbclicked(){
var num=this.id.replace(/\D/g');
var box=“box”+num;
显示[框]=!显示[框];
显示框(num,showing[box]);
localStorage.showing=JSON.stringify(showing);
}
函数显示框(数值、标志){
document.getElementById(“chk”+num).checked=flag;
document.getElementById(“框”+num).style.display=
标志?“块”:“无”;
}
})();
显然,这是一个非常即兴的例子,我不建议使用
.onclick
属性等,但我不想讨论关于正确连接的跨浏览器问题,这只是一个简单的例子。要保留状态,您应该使用数据库或cookie。更简单的方法是饼干。当用户隐藏块时,您应该将块id保存在cookie中,然后保存在需要处理的php代码中,这意味着:读取cookie值并隐藏用户选择隐藏的块。您可以使用插件完成此操作
这将保存切换状态
if ($.cookie('panel') == 'open'){
$('#box1').slideDown('fast');
} else {
$('#box1').slideUp('fast');
}
// Toggle Panel and Set Cookie //
$('#box').click(function(){
$('#box1').slideToggle('fast', function(){
if ($(this).is(':hidden')) {
$.cookie('panel', 'closed');
} else {
$.cookie('panel', 'open');
}
});
});
这是一个实时的exmaple嘿,我以前从未使用过Cookie,你可能有我可以使用的示例代码?你应该使用google:非常感谢,我刚刚在我的网站上设置了代码,效果非常好。
if ($.cookie('panel') == 'open'){
$('#box1').slideDown('fast');
} else {
$('#box1').slideUp('fast');
}
// Toggle Panel and Set Cookie //
$('#box').click(function(){
$('#box1').slideToggle('fast', function(){
if ($(this).is(':hidden')) {
$.cookie('panel', 'closed');
} else {
$.cookie('panel', 'open');
}
});
});