jquery: événement mouseout tir même après avoir utilisé un événement click pour cacher la div
-
12-10-2019 - |
Question
jQuery("#na").mouseover(function()
{
jQuery("#na").animate({width:"325px", height:"203px", left:"-40px", top:"-25px"}, 200)
});
jQuery("#na").mouseout(function()
{
jQuery("#na").stop()
jQuery("#na").animate({width:"244px",height:"152px", left:0, top:0}, 200)
});
jQuery("#na").click(function()
{
jQuery("#na").hide()
jQuery("#back").show()
});
donc ce mon code, le problème est lorsque l'événement click est déclenché tout va bien, na dissapears mais le moment où vous déplacez votre souris, il reappers à nouveau. Je me suis dit que le problème est que l'événement mouseout est déclenché, mais pour la vie de moi ne peux pas comprendre comment y remédier. toutes les idées?
La solution
Dans la méthode mouseout, vérifier si le « na » est visible ou caché. S'il est caché, ne faites rien, que vous pouvez faire l'Animer.
EDIT:
Essayez votre méthode mouseout comme ceci:
jQuery("#na").mouseout(function(){
if(jQuery("#na").is(":visible")){
jQuery("#na").stop()
jQuery("#na").animate({width:"244px",height:"152px", left:0, top:0}, 200)
}
});
Autres conseils
jQuery("#na").click(function(e)
{
e.stopPropagation();
jQuery("#na").hide()
jQuery("#back").show()
});
Je ne sais pas si cela fonctionnerait .. Théoriquement, cela devrait arrêter la propagation du ent, mais je suis mémorandums d'accord ne sais pas si elle arrête seulement l'événement click étant propagé!