gpt4 book ai didi

javascript - 在页面刷新 View jsFiddle 后使用 cookie.js 在 div 上保持切换状态

转载 作者:行者123 更新时间:2023-11-30 18:22:36 25 4
gpt4 key购买 nike

我有一个简单的代码,它允许我在两个 div 之间切换,这两个 div 是两个子导航的包装(#sub-nav-wrap 是替代导航)。它们固定在浏览器的底部:

$(function(){
$('.button').click(function(){
$('#sub-nav-wrapmin').toggle();
$('#sub-nav-wrap').toggle();
});

});

我想做的是在页面刷新后保持每个 div 的状态与用户选择的状态相同,即使点击新的子标题菜单也将保持不变,而不是诉诸默认设置状态。

html是这样的:

<!--- Main Sub Wrap --->
<div id="bottom-wrap">
<!-- Mini Sub Nav -->

<div id="sub-nav-wrapmin" class="snWrap divone">
<div id="sn-contentmin">
<div id="sn-likemin"></div>
<div id="sn-coffeesml"></div>
<div id="sn-sharemin"></div>
<div id="sn-commentsml"></div>
<div id="toggle-barmin">
<div id="sn-sidebrdrmin"></div>
<div class="sn-toggle button"></div>
</div>
<ul class="sn-comicsmin menu">
<li><a class="sn-comics" style="background-position: right top" href="#comic.html">Comic</a></li>
<li><a class="sn-archive" href="#archive.html">Archive</a></li>
<li><a class="sn-vote" href="#vote.html">Vote</a></li>
<li><a class="sn-spotlight" href="#spotlight.html">Spotlight</a></li>
</ul>
</div>
</div>
<!-- Sub Nav -->
<div id="sub-nav-wrap" class="snWrap divtwo">
<div id="sub-nav-container">
<div id="sub-nav-content">

<div id="sn-bnrlft"></div>
<div id="sn-bnrrgt"></div>
<div class="sn-dividelft"></div>
<div class="sn-dividergt"></div>
<div id="sn-likebg"></div>
<div id="sn-coffeebtn">
</div>
<div id="sn-sharebtn"></div>
<div id="sn-commentbtn"></div>
<div id="toggle-bar">
<div id="sn-sidebrdr"></div>
<div class="toggle button"></div>
</div>
</div>
<div id="sub-nav-brdr">
<ul class="sub-nav-comics menu">
<li><a class="comics" style="background-position: right top" href="#comic.html">Comic</a></li>
<li><a class="archive" href="#archive.html">Archive</a></li>
<li><a class="vote" href="#vote.html">Vote</a></li>
<li><a class="spotlight" href="#spotlight.html">Spotlight</a></li>
</ul>
</div>
</div>
</div>

CSS 是这样的:

#sub-nav-wrap {
display: none;
}

这是我第一次提问,我一直在绞尽脑汁想用这个网站上的其他类似代码让它工作,但没有任何效果。将不胜感激任何帮助...

大卫

我构建了一个 jsFiddle显示导航如何在没有 cookie 的情况下工作。 This是我尝试使用 cookie。我希望这是简单的事情,我只是想念理解...

最佳答案

您需要 jQuery cookie plugin在 jQuery 中以这种方式使用 cookie。 jQuery 不支持您尝试执行的操作。

如果旧浏览器不是问题,您可以使用本地存储并执行以下操作:

$(function(){
var wrapmin = localStorage.getItem('wrapmin')||false,
wrap = localStorage.getItem('wrap')||false;

if (wrapmin) $('#sub-nav-wrapmin').show();
if (wrap) $('#sub-nav-wrap').show();

$('.button').click(function(){
$('#sub-nav-wrapmin').toggle();
$('#sub-nav-wrap').toggle();
wrapmin = $('#sub-nav-wrapmin').is(':visible');
wrap = $('#sub-nav-wrap').is(':visible');
localStorage.setItem('wrapmin', wrapmin),
localStorage.setItem('wrap', wrap);
});
});

您还需要更改您的 CSS,如果元素最初显示,现在它无法正常工作。

FIDDLE

cookie 插件有很好的文档记录。您通过给它一个名称和一个值来设置一个 cookie,即。两个值,而不是一个:

$.cookie('the_cookie', 'the_value');

关于javascript - 在页面刷新 View jsFiddle 后使用 cookie.js 在 div 上保持切换状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11703688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com