Jquery slideUp问题

时间:2011-03-14 09:53:20

标签: jquery html

手风琴菜单有问题。

我有类似的东西。

<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>的父级将被设置为向下滑动。 这样您就知道自己属于哪个“类别”。 谢谢你的帮助。

3 个答案:

答案 0 :(得分: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>
...

根据活动类,您可以为该&lt; li&gt;。

调用slidedown函数

答案 1 :(得分:1)

您可以在网址中设置锚标记(例如page.html#tag)

然后,在JavaScript中,您可以使用此插件jQuery-URL-Parser来获取jQuery.url.attr('anchor'):)

答案 2 :(得分:1)

如果我理解正确,您希望通过单击子菜单项加载新页面时自动展开多级菜单。

如果您只想在客户端进行此操作,您有两种选择:

  1. 通过将当前网址与列表项目进行比较来确定活动菜单项
  2. 单击菜单项时设置cookie
  3. 我更喜欢选项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);
            }
        }
    
    });