2014-09-28 117 views
1

我有一个下拉菜单,通过鼠标点击。当我点击某个“下拉链接”时,我的网站的另一页正在打开,但菜单已关闭。我需要保持打开状态,并且实际的“下拉链接”应该以粗体显示。打开网站的另一页后,保持jquery下拉菜单打开

这里是什么,我有一个例子http://jsfiddle.net/dmitry313/dfgjx22j/1/

HTML:

<a href="javascript:void(0);" id="click1" class="clickme">Click me 1</a> 
<ul id="menu_list" style="display:none"> 
    <li><a href="#">Dropdown link</a></li> 
    <li><a href="#">Dropdown link</a></li> 
</ul> 
<br><a href="javascript:void(0);" class="clickme">Click me 2</a> 
<ul style="display:none"> 
    <li><a href="#">Dropdown link</a></li> 
    <li><a href="#">Dropdown link</a></li> 
</ul> 

这里我有一个重定向到网站的另一个页面:

<li><a href="#">Dropdown link</a></li> 

AJAX:

$(document).ready(function(){ 
    var toggleClick = function(){ 
     var divObj = $(this).next(); 
     var nstyle = divObj.css("display"); 

     if(nstyle == "none"){ 
      divObj.slideDown(false,function(){ 
       $("html").bind("click",function(){ 
        $("html").unbind("click"); 
       }); 
      }); 
     } 
     else { 
      divObj.slideUp(true,function(){ 
       $("html").bind("click",function(){ 
        $("html").unbind("click"); 
       }); 
      }); 
     } 
    }; 
    $(".clickme").click(toggleClick); 
}); 

感谢您的帮助!

+1

您提供的小提琴,下拉菜单在打开另一页后仍然显示。如果这是所需的结果,我看不出问题所在? – Vector 2014-09-28 18:39:38

+0

@Vector:这里同样困惑。我猜他想要在新页面上打开“dropdownlist”。 – 2014-09-28 18:41:19

+0

@SyedAliTaqi是的,我需要所有的“下拉链接”在新页面 – Mia 2014-09-28 19:29:45

回答

0

给你的外部下拉链接的href一个额外的主题标签参数

<a id="dropdown-id" href="http://www.yourpage/#dropdown-link-name">Dropdown link</a> 

也给你dropdownlink一个唯一的ID

给下拉UL也是一个独特的ID名称

<ul id="sub-level-1" style="display:none"> 

加载新页面时,请检查url是否包含文本#dropdown-link-name,如果是,请将样式设置为下拉元素为display:block

$(document).ready(function() { 
    if (window.location.href.indexOf("#dropdown-link-name") > -1) { 
     $('#dropdown-class-name').closest("#sub-level-1").css("display","block"); 
    } 
}); 

这样,你必须做出对每个子块一个新的jQuery就绪功能。我不能给你一个jsfiddle,但是我在本地测试了它并且它可以工作。

相关问题