如何用 jquery 创建简单的侧边菜单?

发布于 2024-12-26 07:49:03 字数 957 浏览 4 评论 0原文

我的菜单位于侧面位置,代码是:

<ul>
<li>
    <span class="arz">
        first menu
    </span>
    <ul  id="arz">
        <li>
            first submenu
        </li>
        <li>
            second submenu
        </li>
        <li>
            third submenu
        </li>
    </ul>
</li>
<li class="words">
    two menu
    <ul id="words">
        <li>
            first submenu
        </li>
        <li>
            second submenu
        </li>
    </ul>
</li>

jquery 代码是:

$(document).ready(function(){
    $(".submenu").click(function(){
        $(this).children(this).slideToggle("slow");
    });
});

但我想通过使用 slideToggle单击 第一个菜单 ul 元素和 id="arz",
这段代码可以做到这一点,但是当我单击对应的每个子菜单项时,ul 使用
slideToggle`。 感谢

i have menu in side location and that code is :

<ul>
<li>
    <span class="arz">
        first menu
    </span>
    <ul  id="arz">
        <li>
            first submenu
        </li>
        <li>
            second submenu
        </li>
        <li>
            third submenu
        </li>
    </ul>
</li>
<li class="words">
    two menu
    <ul id="words">
        <li>
            first submenu
        </li>
        <li>
            second submenu
        </li>
    </ul>
</li>

and jquery code is :

$(document).ready(function(){
    $(".submenu").click(function(){
        $(this).children(this).slideToggle("slow");
    });
});

but i want by clicking on first menu ul element with id="arz" usingslideToggle,
this code do it but when i click on every submenu item corresponding ul use
slideToggle`.
by thanks
aya

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故人爱我别走 2025-01-02 07:49:03

在您的 jquery 代码中,您引用了 html 中不存在的类。这就是它不起作用的原因。下面是一些稍微修改过的内容,您可以在此 jsFiddle 示例

HTML

<style>
    ul.submenu{display:none;background:#ccc;}
</style>
<ul class="menu">
    <li class="arz">
        <span>first menu</span>
        <ul id="arz" class="submenu">
            <li>
                first submenu
            </li>
            <li>
                first submenu
            </li>
            <li>
                first submenu
            </li>
        </ul>
    </li>
    <li class="words">
        <span>second menu</span>
        <ul id="words" class="submenu">
            <li>
                second submenu
            </li>
            <li>
                second submenu
            </li>
            <li>
                second submenu
            </li>
        </ul>
    </li>
</ul>

jQuery

$(function(){
    $('ul.menu li').click(function(){
        $(this).find('ul.submenu').slideToggle('slow')
    })
})

In your jquery code you reference a class that is not present in your html. That's why it isn't working. Here is something slightly modified that works as you can see in this jsFiddle example

HTML

<style>
    ul.submenu{display:none;background:#ccc;}
</style>
<ul class="menu">
    <li class="arz">
        <span>first menu</span>
        <ul id="arz" class="submenu">
            <li>
                first submenu
            </li>
            <li>
                first submenu
            </li>
            <li>
                first submenu
            </li>
        </ul>
    </li>
    <li class="words">
        <span>second menu</span>
        <ul id="words" class="submenu">
            <li>
                second submenu
            </li>
            <li>
                second submenu
            </li>
            <li>
                second submenu
            </li>
        </ul>
    </li>
</ul>

jQuery

$(function(){
    $('ul.menu li').click(function(){
        $(this).find('ul.submenu').slideToggle('slow')
    })
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文