jQuery Accordion菜单中的活动页面

时间:2013-05-28 13:04:06

标签: jquery menu accordion

首先,请原谅我,如果已经回答,我搜索但找不到与我正在尝试做的相关的例子。

我有一个包含一些子菜单的垂直菜单。单击顶级菜单时,子菜单会打开。问题是,当您到达新页面时,我希望您单击的子菜单保持打开状态。就像现在一样,当单击子菜单项并转到目标页面时,菜单会折叠。

这是我的代码:

<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>

小提琴:

http://jsfiddle.net/4fYS6/

提前致谢

2 个答案:

答案 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;

}

Demo

根据需要调整样式。

答案 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();
    }
});