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

时间:2012-01-12 05:23:01

标签: jquery menu slidetoggle

我在侧面位置有菜单,代码是:

<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");
    });
});

但我希望点击带有ul slideToggle id="arz" using slideToggle`的第一个菜单 ,
this code do it but when i click on every submenu item corresponding ul use
元素。 谢谢你 绫

1 个答案:

答案 0 :(得分:1)

在您的jquery代码中,您引用了html中不存在的类。这就是它无法正常工作的原因。以下是一些略有修改的内容,可以在此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')
    })
})