2011-03-14 48 views
0

手風琴菜單有問題。Jquery slideUp問題

我有這樣的事情。

<ul> 
<li>Option 1</li> 
    <ul> 
    <li>Sub opt 1</li> 
    <li>Sub opt 2</li> 
    </ul> 
<li>Option 2</li> 
    <ul> 
    <li>aaa</li> 
... 

我已經設置它們向上滑動,所以它們被關閉。 當我點擊Sub opt 1時,我被重定向,並且我的列表再次滑動。 是否有任何方法,我單擊的<li>的父級將設置爲向下滑動。 這樣你就知道你在哪個「類別」上。 感謝您的幫助。

回答

1

你可以在你的URL設置錨標籤(例如page.html中#標籤)

然後,在JavaScript中,你可以使用這個插件jQuery-URL-Parser得到jQuery.url.attr(「錨」): )

1

如果我理解正確,您希望多級菜單在單擊子菜單項加載新頁面時自動展開。通過當前的URL與列表項

  • 設置cookie時比較

    1. 確定活動菜單項:

      如果你想這樣做,只是在客戶端,你有兩個選擇單擊菜單項

    我寧願選擇2,所以這裏的僞jQuery的一個小例子:(這意味着這將不開箱的:))

    $('.menu-item').click(function() { 
        // set cookie 'currentMenuItem' to $(this).href() 
        // redirect page to $(this).href() 
    }); 
    
    // your DOM load call, which is called after the page loads 
    $(function() { 
        var cookie = getCurrentMenuItemCookie(); 
        if (cookie) { 
         var parent = determineMenuParent(); 
         if (parent) { 
          expandAccordion(parent); 
         } 
        } 
    
    }); 
    
  • 2

    首先,您需要知道重定向後您點擊了哪個菜單。您可以爲返回HTML頁面的點擊菜單添加一個「活動」類。例如:

    <ul> 
    <li>Option 1</li> 
        <ul> 
        <li>Sub opt 1</li> 
        <li>Sub opt 2</li> 
        </ul> 
    <li class="active">Option 2</li> 
        <ul> 
        <li>aaa</li> 
    ... 
    

    基於活動類,你可以調用了slideDown函數,該函數<李>。

    +0

    但是,如何知道,我/你點擊了哪一個 – Sebastjan 2011-03-14 10:33:37

    +0

    我認爲你的菜單與特定頁面有關。所以,你會知道你應該設置哪個菜單「活動」。 – YNhat 2011-03-14 12:16:14