I’m trying to produce a simple drop down menu, with minimal JS and CSS.
It works perfectly but triggers all child elements at once rather than the element hovered over.
<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);
});
});
Here is the fiddle. http://jsfiddle.net/npLwX/55/
Try this instead:
jsFiddle example
You need to target the specific element rather than the entire class.