不要滑动全部切换

时间:2012-06-06 15:05:21

标签: javascript jquery html css slidetoggle

我有一个垂直滑动菜单,如下所示:

    <ul class="menu">
        <li>link</li>
        <li>link</li>
        <li class="more">link with submenu</li>
            <ul class="submenu">
                <li>sub link 1</li>
                <li>sub link 2</li>  
            </ul>
        <li class="more">link with submenu</li>
            <ul class="submenu">
                <li>sub link 1</li>
                <li>sub link 2</li>  
            </ul>
        <li>link</li>  
        <li>link</li>

    </ul>  

jQuery是这样的:

jQuery(document).ready(function($) {

$(".more").click(function() {

$(this).parent().children(".submenu").slideToggle(500); });
});

我的问题是,当我点击“.more”时,每个“.submenu”都是slideToggle(两者都打开)

我该怎么做,所以只有正确的子菜单才能进行滑动切换?

谢谢。

2 个答案:

答案 0 :(得分:6)

取消对.parent()的通话。此外,您的.submenu应该嵌套在所属的<li>中,并留下以下jQuery:

$("li.more").on("click", function() {
    $("ul.submenu", this).slideToggle(500);
});

这个标记:

<ul class="menu">
    <li>link</li>
    <li>link</li>
    <li class="more">
        link with submenu
        <ul class="submenu">
            <li>sub link 1</li>
            <li>sub link 2</li>  
        </ul>
    </li>
    <li class="more">
        link with submenu
        <ul class="submenu">
            <li>sub link 1</li>
            <li>sub link 2</li>  
        </ul>
    </li>
    <li>link</li>  
    <li>link</li>
</ul>

答案 1 :(得分:0)

这一个?

$(this).next().eq(0).slideToggle(500); });