2014-09-28 116 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,但是我在本地測試了它並且它可以工作。