停止在fadeOut中停留

时间:2011-10-31 11:19:50

标签: jquery

我有两个div:

<div id="small"></div>
<div id="big"></div>

小的确小,并且是大的上升。 z-index:5;

jQuery:当小小的徘徊时,它变得疯狂,因为它在循环中消失了。因此,我尝试停止并确保它在淡入时停止。但是有一刻,如果鼠标快速熄灭,它会逐渐消失并且不再褪色。我不明白为什么?

  $("#big").hover(function(){
        $("#small").fadeIn();
    },function(){
        $("#small").fadeOut();
    }); 

    $("#small").hover(function() {
        $("#small").fadeIn().stop();
    }); 

1 个答案:

答案 0 :(得分:2)

你应该在开始淡入之前停止它:

 $("#small").stop().fadeIn();

编辑:我认为你真正关注的是这段代码:

$("#big").hover(function(){
    $("#small").stop().animate({opacity: 0.0}, 1000);
},function(){
    $("#small").stop().animate({opacity: 1.0}, 1000);
}); 

$("#small").mouseover(function() {
    $("#small").stop().animate({opacity: 1.0}, 1000);
}); 

当你淡出元素时,它的空间将不会被保留,并且不再有鼠标事件。相反,您可以设置其不透明度的动画效果,同时保留空间。

Live test case