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');
        }
    });
});