J'ai une configuration telle que décrite dans ce question qui fonctionne parfaitement. Essentiellement, un menu déroulant se développe lorsque vous déplacez votre souris dessus pour exposer plus d'options.jQuery - Flicker d'animation utilisant hover()
Il y a, cependant, un petit problème. Si vous déplacez la souris à l'extérieur de la div #dropdown
et que vous la rallumez rapidement, elle déclenche constamment les événements mouseenter
et mouseleave
, provoquant un cycle interminable de scintillement. Comment puis-je le contourner?
Voici mon code actuel jQuery
$("#dropdown").hover(function() {
$(this).stop(true,true).fadeTo('fast',1);
$("#options").stop(true,true).slideDown();
}, function() {
$(this).stop(true,true).fadeTo('fast',0.1);
$("#options").stop(true,true).slideUp();
}
);
et le code HTML actuel
<div id="dropdown">
<div id="optionsPeek">Options</div>
<div id="options">
<!-- Links here -->
</div>
</div>
dropdown
est visible par défaut (opacité de 10%), optionspeek
est toujours visible et une fois que vous survolez, la div options
glisse vers le bas et les liens à l'intérieur deviennent visibles.
Pouvez-vous publier le balisage en .html? Je suppose que '# options' ne se trouve pas dans' # dropdown'? –