我制作了一个侧边栏,它是为了显示所有时间,只有点击它才会隐藏。但是在隐藏了这个之后,如果我刷新页面,它会再次显示出来。所以我想保留设置,所以如果用户隐藏它,它将不会出现,直到他按下显示按钮无关页面刷新或他转到另一页。
(例如像facebook右侧聊天栏一样隐藏或显示无关紧要页面刷新或其他任何内容)
我想JS上的一些变化会完成这项工作,但我不确定&不是编码员所以帮助我做。
我使用的JS代码:
<script language=javascript type='text/javascript'>
function hideDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('hideShow').style.visibility = 'hidden';
} else {
if (document.layers) { // Netscape 4
document.hideShow.visibility = 'hidden';
} else { // IE 4
document.all.hideShow.style.visibility = 'hidden';
}
}
}
function showDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('hideShow').style.visibility = 'visible';
} else {
if (document.layers) { // Netscape 4
document.hideShow.visibility = 'visible';
} else { // IE 4
document.all.hideShow.style.visibility = 'visible';
}
}
}
</script>
HTML和CSS
<div id="hideShow" ..etc>
My content
</div>
这就是调用JavaScript来隐藏它:
<a href="javascript:hideDiv()">Hide Div</a>
这表明它:
<a href="javascript:showDiv()">show Div</a>
答案 0 :(得分:2)
像这样的东西!在这里你有一个读取cookie的功能,因为设置一个cookie很容易,但读得不多。
readCookie = function (name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return "es";
}
function hideDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('hideShow').style.visibility = 'hidden';
}
else {
if (document.layers) { // Netscape 4
document.hideShow.visibility = 'hidden';
}
else { // IE 4
document.all.hideShow.style.visibility = 'hidden';
}
}
document.cookie = 'show=false';
}
function showDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('hideShow').style.visibility = 'visible';
}
else {
if (document.layers) { // Netscape 4
document.hideShow.visibility = 'visible';
}
else { // IE 4
document.all.hideShow.style.visibility = 'visible';
}
}
document.cookie = 'show=true';
}
if(readCookie('show') == "true"){
showDiv();
}
else {
hideDiv();
}
祝你好运
答案 1 :(得分:1)
你需要一个javascript类来读写cookie。这样,当用户与cookie交互时,您可以在cookie中编写侧边栏的状态。当页面加载时,您从cookie中读取状态,并相应地设置可见性。
答案 2 :(得分:0)
您需要将条形图的可见性状态保存在某处的变量中。由于您使用(我假设)只有JS,您可能需要访问用户的cookie。
如何在JS中设置Cookie:http://www.javascripter.net/faq/settinga.htm 如何在JS中阅读Cookie:http://www.javascripter.net/faq/readinga.htm