Reputation: 41
I am using "jquery-1.7.1.min.js" , what I want is when I enter into some menu the dropdown should slide down smoothly but its not happening continuously.It is very inconsistent and sometime shows nothing and sometimes it continues to slideup and slidedown. Please help me out of it.
I am using below code
Html :
<nav>
<ul class="menuList">
<li><a href="#">Main Menu</a>
<div class="submenu">
<div class="submenuInner">
<div class="menus clearfix">
<ul class="firstlist">
<li><a href="">Sub Menu Left 1</a></li>
<li><a href="">Sub Menu Left 2</a></li>
<li><a href="">Sub Menu Left 3</a></li>
<li><a href="">Sub Menu Left 4</a></li>
<li><a href="">Sub Menu Left 5</a></li>
</ul>
<ul>
<li><a href="">Sub Menu Right 1</a></li>
<li><a href="">Sub Menu Right 2</a></li>
<li><a href="">Sub Menu Right 3</a></li>
<li><a href="">Sub Menu Right 4</a></li>
<li><a href="">Sub Menu Right 5</a></li>
</ul>
</div>
</div>
</div>
</li>
</ul>
</nav>
script :
$(document).ready(function() {
$(".menuList li").mouseenter( function() {
$(this).find(".submenuInner").stop().css({"margin-top":"0"});
$(this).children(".submenu").slideDown("slow");
});
//console.log("menuin");
$(".menuList li").mouseleave( function() {
$(this).children(".submenu").slideUp("slow");
//$(this).find(".submenuInner").animate({marginTop:"-100%"},{queue :false,duration :50});
$(this).find(".submenuInner").animate({marginTop:"-100%"},500);
});
});
Upvotes: 0
Views: 180
Reputation: 3862
can you please used this code : Demo
$(document).ready(function () {
$(".menuList li").hover(
function () {
$(this).find(".submenuInner").stop(true, true).css({
"margin-top": "0"
});
$(this).children(".submenu").slideDown("slow");
},
function () {
$(this).children(".submenu").slideUp("slow");
$(this).find(".submenuInner").animate({
marginTop: "-100%"
}, 500);
}
);
});
Upvotes: 0
Reputation: 388316
Try
$(document).ready(function() {
$(".menuList li").mouseenter( function() {
$(this).find(".submenuInner").stop(true, true).css({"margin-top":"0"});
$(this).children(".submenu").stop(true, true).slideDown("slow");
});
//console.log("menuin");
$(".menuList li").mouseleave( function() {
$(this).children(".submenu").stop(true, true).slideUp("slow");
//$(this).find(".submenuInner").animate({marginTop:"-100%"},{queue :false,duration :50});
$(this).find(".submenuInner").stop(true, true).animate({marginTop:"-100%"},500);
});
});
Demo: Fiddle
Upvotes: 1