php - Jquery - 隐藏/显示 - "Session"问题

标签 php jquery html

我在我的网站上使用此链接和 div:

<p><a href="#" class="navlink" id="navlink_1">Menu1</a> | <a href="#" class="navlink" id="navlink_2">Menu2 |</a><a href="#" class="navlink" id="navlink_5"> Menu 3|</a></p>

<div id="menu_1" class="mymenu">
</div>
<div id="menu_2" class="mymenu">
</div>
<div id="menu_3" class="mymenu">
</div>

这个 jquery 隐藏和显示菜单。

$('div[class*="mymenu"]').hide(); 
 var current;
       var showMenu = function(e) {
    // read the id out of the clicked elements id ('navlink_ID')
        var id = e.id.split('_');
        $('div#menu_' + id[1]).show();
    // store this element as new current visible
        current = e;
      }

      // hide all menu elements
      $('div.mymenu').hide();
      $('a.navlink').click(function() {
        if (this != current) {
          // check if an element is visible -> hide it and show new menu
          if (current) {
            var id = current.id.split('_');
            $('div#menu_' + id[1]).hide(200,showMenu(this));
          } else {
            showMenu(this);

          }
        }
        return false;
      }); 

如何修改此代码,如果我重新加载页面,则最后一个可见的 DIV 保持可见。 (我不想为此使用查询字符串。我尝试使用 jquery session 但不起作用..)

感谢您的帮助...

最佳答案

Cookie 是保存可折叠 div 的理想方式,ShopDev有一个很棒的教程,介绍如何使用 jQuery cookie 插件实现与您尝试做的相同的事情。

基本上,您在 cookie 中为要保留的每个 div 设置一个值,并且每当事件发生时您都会更新 cookie 中的值,例如:

$.cookie('menu_1', 'expanded');

您还需要检查页面首次加载时每个 div 的状态,例如

var menu_1 = $.cookie('menu_1');

if (menu_1 == 'collapsed') {
    $('#menu_1').css("display","none");
};

关于php - Jquery - 隐藏/显示 - "Session"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1656737/

相关文章:

php - 根据条件从已解析的 HTML 文档中删除 HTML 元素

PHP 无法找到/打开字体

html - 由于覆盖无法单击按钮?

html - 我可以在两个箭头之间放置一个 Rails 部分吗?

php - 纤细的斜线路线

php - php mysql 一列上的多个选择语句

javascript - 在 JavaScript 中追加元素时出现奇怪的错误

javascript - 从 $('img).width()/height() 获取时 <img/> 标签宽度和高度不正确

javascript/jquery 从 url 中删除相对路径

php - 搜索按钮未在表格中显示特定数据