javascript - 页面刷新后使用 cookie.js 保持 div 的切换状态

标签 javascript jquery html

我有一个简单的代码,它允许我在两个 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;  
}

这是我第一次提出这个问题,我一直在绞尽脑汁地使用该网站上的其他类似代码来使其工作,但没有任何效果。 请帮忙...

最佳答案

你几乎已经完成了所有事情,只是写了很多多余的:)

$(function(){
    if($.cookie('submin_visible') == 'true') {
        $('#sub-nav-wrapmin').show();
        $('#sub-nav-wrap').hide();
    } else {
        $('#sub-nav-wrapmin').hide();
        $('#sub-nav-wrap').show();
    }

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

        var isVisible = $('#sub-nav-wrapmin').is(':visible').toString();
        $.cookie('submin_visible', isVisible);
    });
});

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

相关文章:

javascript - 类型错误 : map[msg[1]] is not a function

javascript - 如何使用原型(prototype)方法更改类中的值?

html - 有没有办法在不使用任何其他语言的情况下在 html 之间传递值

javascript - 无需用户单击即可使用 jquery 搜索表行

javascript - 页面大小调整时位置(X、Y 坐标)更新

javascript - 在新选项卡中运行 Angular 部分

jquery - 将 jQuery 从 div 替换为 id

javascript - js - 使用 js 按钮更改 html 属性

jquery - 将div从上到下对齐,然后从左到右对齐

javascript - 使用 JavaScript 检测浏览器窗口 "Maximized"/"Minimized "