首先,请原谅我,如果已经回答,我搜索但找不到与我正在尝试做的相关的例子。
我有一个包含一些子菜单的垂直菜单。单击顶级菜单时,子菜单会打开。问题是,当您到达新页面时,我希望您单击的子菜单保持打开状态。就像现在一样,当单击子菜单项并转到目标页面时,菜单会折叠。
这是我的代码:
<script type="text/javascript" charset="utf-8">
$(function(){
$('#menu li a').click(function(event){
var elem = $(this).next();
if(elem.is('ul')){
event.preventDefault();
$('#menu ul:visible').not(elem).slideUp();
elem.slideToggle();
}
});
});
</script>
小提琴:
提前致谢
答案 0 :(得分:0)
如果你想避免使用cookies,请尝试这个
HTML
<iframe src="" name='frame' >
</iframe>
<li><a href="http://www.bing.com" target="frame">Submenu 1</a></li>
CSS
div{
display:inline-block;
}
#frm{
height:500px;
width:500px;
border:0px solid black;
}
根据需要调整样式。
答案 1 :(得分:0)
当您完全加载第二页时,您可以将选定的UL
索引传递回服务器并作为响应返回,并在页面加载时再次打开UL
。
类似下面的代码...(不是确切的代码。) DEMO
$(function(){
$('#menu li a').click(function(event){
var elem = $(this).next();
if(elem.is('ul')){
event.preventDefault();
$('#menu ul:visible').not(elem).slideUp();
elem.slideToggle();
} else {
alert("Parent Index "+$('#menu ul').index($(this).parent().parent()));
$(this).attr("href" ,$(this).attr("href")+"?MenuIndex="+ $('#menu ul').index($(this).parent().parent()));
}
});
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
}
if(getURLParameter("MenuIndex")) {
$('#menu ul').eq(getURLParameter("MenuIndex")).click();
}
});