我有一个语言导航栏。 您可以使用jQuery按钮隐藏它。 但每次刷新页面时,导航栏都会再次出现。
点击“隐藏”按钮后,如何让它保持隐藏状态, 直到再次单击该按钮才能显示它。
我已经有了隐藏和显示的功能。
jQuery(document).ready(function(){
jQuery('#hideshow').on('click', function(event) {
jQuery('#lang').toggle('show');
debugger
if($('#hideshow').text()=="Hide"){
$('#hideshow').text("Show")
}
});
});
Fiddle (小提琴看起来不太好,但有效)
顺便说一句,我是JS和jQuery的新手! :)
答案 0 :(得分:1)
为了使条形图具有持久状态,您需要将此状态存储在cookie或本地存储中。你可以使用例如:
答案 1 :(得分:0)
只需使用cookie。
// if you want to set it for num of days, pass that in.
// Otherwise leave empty and it will be a session cookie.
// and remember to pass in a number for days, not a string
function setCookie(name,value,days) {
var date, expires;
if (days) {
date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires=" + date.toGMTString();
}else{
expires = "";
}
document.cookie = name + "=" + value + expires + "; path=/";
}
如果您想阅读cookie,请包含以下方法。
function getCookie(name) {
var i, c, arr, cName = name + "=";
arr = document.cookie.split(';');
for(i=0;i < arr.length;i++) {
c = arr[i];
while (c.charAt(0)==' ') {
c = c.substring(1,c.length);
}
if (c.indexOf(cName) == 0) {
return c.substring(cName.length,c.length);
}
}
return '';
}
要获取和写入cookie,请执行以下操作:
setCookie('naviSet', true);
要阅读cookie'naviSet://,您可以将其命名为任何名称。
getCookie('naviSet')
然后在你的代码中,测试它是否已设置..如果没有,运行你的代码然后设置它。
if( getCookie('naviSet') != true){
// run your code
// set your coookie, to whatever value you want. I just happend to use "true"
}
答案 2 :(得分:0)
试试这个
设置Cookie
$.cookie("div_status", "hide"); //set hide or show
获取Cookie
alert( $.cookie("div_status") ); //then call on page load to get div status
删除cookie
$.removeCookie("div_status"); //remove if not need