【问题标题】:jQuery toggle not staying open when page refreshes页面刷新时jQuery切换不保持打开状态
【发布时间】:2014-01-09 01:37:42
【问题描述】:

当点击链接(或页面只是刷新)时,固定侧边栏中的可折叠菜单无法保持打开状态。

我使用了基于 this question 的关于使用 cookie 存储 div 状态的建议,但它不起作用(切换状态仍然没有持续)。

我添加了一个插件链接(在我的 jQuery src 链接之后):

<script src="js/jquery.cookie.js" type="text/javascript"></script>

切换状态仍然没有保留,即使在 .com 网站上也是如此。

if ($.cookie('div') == 'open'){
    $('#the_more_div').slideDown('slow');
} else {
    $('#the_more_div').slideUp('slow');
}

$('#hamburger').click(function(){
    $('#the_more_div').slideToggle('slow', function(){
        if ($(this).is(':hidden')) {
            $.cookie('div', 'closed');
        } else {
            $.cookie('div', 'open');
        }
    }); 
});

切换开关工作得很好,但是当在其中单击不同的链接(或在页面刷新时)时,为什么 the_more_div 不能保持打开状态。

提前谢谢你!

【问题讨论】:

  • 我已经在 jsfiddle 上测试过了,它工作正常。 jsfiddle.net/UJDsh/。你在其他浏览器上检查过吗,你是不是先加载jquery再加载jquery.cookie插件?
  • 太棒了,@MarkS 因为它根本无法在线正常运行。试过 Chrome 和 Firefox。您可以在边栏中实时查看here。绝对是先加载 jquery。

标签: jquery cookies plugins toggle


【解决方案1】:

原来问题是不相关的冲突。上面的代码确实实际上可以安装一个cookie来使div状态保持不变。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2019-05-19
    • 2021-04-17
    • 1970-01-01
    • 2018-07-25
    • 2011-05-14
    • 2012-11-08
    相关资源
    最近更新 更多