javascript - 不要滑动切换所有

标签 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(都打开)

我该怎么做才能滑动切换到正确的子菜单?

谢谢。

最佳答案

删除对 .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>

关于javascript - 不要滑动切换所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10916973/

相关文章:

javascript - jQuery Mobile 可折叠 'expand' 事件未在 Cordova 应用程序中触发

javascript - 有没有办法暂停 spotify api?

javascript - 使用 jQuery 的 "find"在 jQuery 文档片段中查找元素

javascript - 我无法禁用文本区域中的向上/向下箭头

html - 可以延伸到其父项之外的文本区域?

javascript - 从 aspx.cs 页面调用 html 页面中定义的 javascript 函数

javascript - 将 JS 文件与 webpack 脚本 bundle 在一起?

javascript - 容器溢出时 float 表头?

javascript - 从一些 jQuery 中去除脂肪

javascript - 几秒钟后消失的网站介绍页面