I have a "dot" navigation on a site that has one link with a submenu. Originally, I had a simple JQ function that would slideToggle() the submenu on hover but that was causing some 'bouncing' issues. So, I reverted it back to click() function.
$("#troy-dot-nav li.menu-item-81 > a").click(function(e){
e.preventDefault();
$(this).siblings('.sub-menu').slideToggle('800');
});
In doing so, I need to add the preventDefault() so the submenu would open up on click, but disable the link.
Turns out, I need to keep the link on that active to navigate to that top-level page, but can't seem to figure out the best way to go about allowing the submenu to open (on click or hover; without bouncing) and keep the menu link active.
HTML for Menu
<div class="menu-primary-container">
<ul id="troy-dot-nav" class="menu reverse-dots">
<li class="..."><a href="...">About</a></li>
<li class="... menu-item-81">
<a href="...">Integrated Services</a>
<ul class="sub-menu" style="display: none;">
<li class="..."><a href="...">EPC & Project Services</a></li>
<li class="..."><a href="...">Pipeline Construction</a></li>
<li class="..."><a href="...">Facility Construction</a></li>
<li class="..."><a href="...">Integrity Management</a></li>
</ul>
</li>
<li class="..."><a href="...">Safety & Quality</a></li>
<li class="..."><a href="...">Careers</a></li>
<li class="..."><a href="...">Contact Us</a></li>
</ul>
</div>
The CSS creates the dots on the li:after. Removed extra HTML for cleaner look here.
Via Active questions tagged javascript - Stack Overflow https://ift.tt/gYJHezQ
Comments
Post a Comment