问题:悬停在外部 div 上方会触发预期的滑动方法,但如果鼠标在外部 div 内移动,则不是一次而是多次。我不认为这是一个冒泡问题,因为该事件绑定到父元素而不是子元素。我还通过使用 stopPropagating() 来防止事件“冒泡”;
这是html标记:
<div class="outer">
<div class="inner">Lorem ipsum dol
<div class="clear"></div></div>
</div><div class="clear"></div>
和CSS:
.outer {
float: left;
width: 220px;
height: 200px;
background-color: #06F;
}
.inner {
float: left;
width: 220px;
height: 99px;
background-color: #0F6;
margin-top: 100px;
}
和jQuery
$(".outer").hover(function(e){
e.stopPropagation();
//$(".inner").fadeOut("slow");
$(".inner").stop(true, true).hide("slide", {direction: "down"}, "slow");
}, function(e){
e.stopPropagation();
//$(".inner").fadeIn("slow");
$(".inner").stop(true, true).show("slide", {direction: "down"}, "slow");
});
顺便说一句,注释代码工作正常。
jsfiddle 链接:http: //jsfiddle.net/94hvS/