0

我正在尝试使用最少的 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/

4

1 回答 1

0

试试这个:

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

jsFiddle 示例

您需要针对特定​​元素而不是整个类。

于 2012-10-02T17:19:15.333 回答