var flag = false var count = 0 this[settings.event]( function() { flag = true menu.fadeIn("fast") }, function() { count = count + 1 flag = false setTimeout(function() { count = count - 1 if (count == 0 && !flag) menu.fadeOut("fast") }, 1000); } )