jQuery - mouseover/mouseout avec plusieurs divs
J'ai un div caché imbriquée à l'intérieur d'une plus grande div et le configurer de sorte que lorsque vous passer la souris sur le plus grand div, le caché div glisse vers le bas. Sur mouseout, la div glisse en arrière. Le problème c'est que quand la souris passe sur le plus petit des div, il essaie de la remettre en place parce que le mouseout événement a été déclenché. Comment puis-je empêcher le div de se cacher de nouveau jusqu'à ce que la souris est au-dessus ni div?
html:
<div id="topbarVis" class="col1 spanall height1 wrapper">
<div id="topbar"></div>
</div>
(les cours supplémentaires font partie d'un système modulaire de css et de définir la largeur et la hauteur, entre autres choses, de #topbarVis
css:
#topbar {
width: 100%;
height: 30px;
margin-top: -25px;
background-color: #000;
}
js:
//On Mouseover -> Show
$("#topbarVis").mouseover(function(){
$("#topbar").animate({marginTop:0}, 300);
});
//On Mouseout -> Hide
$("#topbarVis").mouseout(function(){
$("#topbar").animate({marginTop:-25}, 300);
});
Vous devez vous connecter pour publier un commentaire.
Utilisation
mouseenter/mouseleave
à la place:...ou tout simplement utiliser le
hover()
(docs) méthode qui est un raccourci pourmouseenter/mouseleave
:La raison en est que la nature de
mouseover/mouseout
est tel qu'il bulles. Pour qu'il se déclenche lorsque tous les descendants de l'élément obtenez les événements. Alors quemouseenter/mouseleave
ne pas bulle.Le seul navigateur qui fait prend en charge les non-standard
mouseenter/mouseleave
événements est IE, mais jQuery réplique son comportement.mouseenter
/mouseleave
mosueenter/mouseleave
ne devrait le feu de l'élément auquel il est réellement attaché. Pas de ses descendants.mouseout
parce que vous êtes techniquement quitter le carré extérieur. C'est-à-dire que vous quittez la partie qui n'est pas obscurci par son descendant. L'IEmouseenter/mouseleave
système semble faire beaucoup plus de sens, mais elle ne fait pas partie de la spécification. :o(Cela fonctionne pour moi sur internet explorer. Espérons que cela aide.
À l'aide de ce que le CSS.