首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保持显示/隐藏侧栏的设置

问如何保持显示/隐藏侧栏的设置
EN

Stack Overflow用户
提问于 2012-01-31 17:30:00
回答 3查看 578关注 0票数 0

我做了一个侧边栏,它是用来显示所有的时间,只有当它被点击时,它将隐藏。但是隐藏了这个之后,如果我刷新页面,它会再次显示出来。所以我想保持设置,所以如果用户隐藏这一点,它不会出现,直到他按下显示按钮,不重要的页面刷新或他去另一个页面。

(例如,像facebook一样,保持隐藏或显示的右聊天栏与页面刷新或任何事情无关)

我想JS上的一些改变将完成这项工作,但我不确定&不是一个编码器,所以请帮我做。

我使用的JS代码:

代码语言:javascript
复制
<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

代码语言:javascript
复制
<div id="hideShow" ..etc>
    My content
</div>

这个调用JavaScript来隐藏它:

代码语言:javascript
复制
<a href="javascript:hideDiv()">Hide Div</a>

为了证明这一点:

代码语言:javascript
复制
<a href="javascript:showDiv()">show Div</a> 
EN

回答 3

Stack Overflow用户

发布于 2012-01-31 17:42:41

就像这样!这里有一个函数来读取cookie,因为设置cookie很容易,但是读得不多。

代码语言:javascript
复制
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();
}

祝好运

票数 2
EN

Stack Overflow用户

发布于 2012-01-31 17:34:43

您需要一个javascript类来读取和编写cookie。这样,当用户与之交互时,您可以在cookie中写入侧栏的状态。当页面加载时,您将从cookie读取状态,并相应地设置可见性。

票数 1
EN

Stack Overflow用户

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9084102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档