我在我的网站上使用此链接和 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/