我尝试使用最少的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 & Tools</li>
<li><ul class="product-sub">
<p>Bike product sub</p>
</ul></li>
<li class="prod-trig">Clothes & 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);
});
});
答案 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 强>
您需要定位特定元素而不是整个类。