最小下拉菜单触发单个孩子

时间:2012-10-02 17:12:01

标签: jquery

我尝试使用最少的JS和CSS来制作一个简单的下拉菜单。

它完美地工作但是同时触发所有子元素而不是元素悬停在上面。

<nav id="product-index">
        <ul class="product-list">
            <li class="prod-trig">Bikes</li>
                <li><ul class="product-sub">
                <p>Bike product sub</p>
                </ul></li>

            <li class="prod-trig">Parts &amp; Tools</li>
                <li><ul class="product-sub">
                <p>Bike product sub</p>
                </ul></li>

            <li class="prod-trig">Clothes &amp; Shoes</li>
                <li><ul class="product-sub">
                <p>Bike product sub</p>
                </ul></li>

            <li class="prod-trig">Protection</li>
                <li><ul class="product-sub">
                <p>Bike product sub</p>
                </ul></li>

            <li class="prod-trig">More</li>
                <li><ul class="product-sub">
                <p>Bike product sub</p>
                </ul></li>
        </ul>
</nav>

$(document).ready(function() {
    $('.prod-trig').hover(function() {
        $('.product-sub').stop().slideDown(400);
    }, function() {
        $('.product-sub').stop().slideUp(400);
    });
});

这是小提琴。 http://jsfiddle.net/npLwX/55/

1 个答案:

答案 0 :(得分:0)

请改为尝试:

$('.prod-trig').hover(function() {
    $(this).next().find('.product-sub').stop().slideDown(400);
}, function() {
    $(this).next().find('.product-sub').stop().slideUp(400);
});​

<强> jsFiddle example

您需要定位特定元素而不是整个类。