元素不完全淡入和淡出

我有六个div,盒子里有内容,其中一些盒子不得不在盘旋时淡出,有些盒子会淡入。即每个盒子都有一个图像(在盘旋时淡出,并在盘旋后消失)和一些文本(在悬停时淡入,并在悬停后淡出)。

我使用jQuery来完成淡入淡出。 除了当鼠标从一个div快速移动到另一个div时,这一切都可以发现 - 在这种情况下,第一个div有时会在其淡入淡出时被捕,以致于褪色的元素被卡住(例如)50%的不透明度。

HTML(x 6):

<div class="box">
<img class="icon" src="assets/images/icon.png" />
<p class="more">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>

CSS:

.box {
    width:300px;
    height:200px;
    float:left;
    margin:0 10px 10px 0;
    position:relative;
    cursor:pointer;
}

.box p.more {
    font-size:15px;top:80px;opacity:0;
}

.box img.icon {
    position:absolute;top:30px;right:40px;
}

jQuery的:

$('.box').hover(function(){     
    $('p.more',this).stop(true).animate({top:'30px',opacity:'1'},'slow');
    $('img.icon',this).stop(true).fadeOut(300);     
},function() {      
    $('p.more',this).stop(true).animate({top:'80px',opacity:'0'},'slow');
    $('img.icon',this).stop(true).fadeIn(300);          
});

任何想法感激地收到!


尝试使用.fadeTo()而不是.fadeIn().fadeOut()

$('.box').hover(function(){     
    $('p.more',this).stop(true).animate({top:'30px',opacity:'1'},'slow');
    $('img.icon',this).stop(true).fadeTo(300,0);     
},function() {      
    $('p.more',this).stop(true).animate({top:'80px',opacity:'0'},'slow');
    $('img.icon',this).stop(true).fadeTo(300,1);          
});

$('.box').hover(function(){     
    $('p.more',this).stop(true, true).animate({top:'30px',opacity:'1'},'slow');
    $('img.icon',this).stop(true, true).fadeTo(300,0);     
},function() {      
    $('p.more',this).stop(true, true).animate({top:'80px',opacity:'0'},'slow');
    $('img.icon',this).stop(true, true).fadeTo(300,1);          
});

请参考有关'停止'功能的官方文件

链接地址: http://www.djcxy.com/p/21393.html

上一篇: Incomplete fade in and out on elements

下一篇: jquery load with fadein and fadeout of content