我做了一个侧边栏,它是用来显示所有的时间,只有当它被点击时,它将隐藏。但是隐藏了这个之后,如果我刷新页面,它会再次显示出来。所以我想保持设置,所以如果用户隐藏这一点,它不会出现,直到他按下显示按钮,不重要的页面刷新或他去另一个页面。
(例如,像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> 发布于 2012-01-31 17:42:41
就像这样!这里有一个函数来读取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();
}祝好运
发布于 2012-01-31 17:34:43
您需要一个javascript类来读取和编写cookie。这样,当用户与之交互时,您可以在cookie中写入侧栏的状态。当页面加载时,您将从cookie读取状态,并相应地设置可见性。
发布于 2012-01-31 17:36:46
您需要将该条的可见性状态保存在某个变量中。由于您只使用JS (我猜想),您可能需要访问用户的cookie。
如何在JS中设置Cookie:http://www.javascripter.net/faq/settinga.htm如何在JS:http://www.javascripter.net/faq/readinga.htm中读取Cookie
https://stackoverflow.com/questions/9084102
复制相似问题