目前我有一个简单的div,我想让它在鼠标经过另一个div时淡入,但它会闪烁3次。
我已经阅读了一些其他问题,我认为这与我的代码结构有关。但我不确定如何纠正我的,因为它已经很基础了。
以下是我的代码:
<script type="text/javascript">
$(document).ready(function(){
$('.content .guide ul.guide li .event').mouseover(function(){
$(this).find('.info').fadeIn();
});
$('.content .guide ul.guide li .event').mouseout(function(){
$(this).find('.info').fadeOut();
});
});
</script>CSS
.content .guide ul.guide li .event .info {display:none;}HTML
<ul class="guide">
<li class="mon">
<div class="day">Monday</div>
<div class="session-1 event">
<time>7:30am</time>
<span>Ep 5: <a href="">Lorem</a></span>
<div class="info">
<div class="tooltip"></div>
<div class="wrap">
<div class="desc">Ep 8: Lorem ipsum</div>
</div>
</div>
</div>
<div class="session-2 event">
<time>8:30pm</time>
<span>Ep 5: <a href="">Lorem</a></span>
<div class="info">
<div class="tooltip"></div>
<div class="wrap">
<div class="desc">Ep 8: Lorem ipsum</div>
</div>
</div>
</div>
</li>
<li class="tue">
<div class="day">Tuesday</div>
<div class="session-1">
</div>
<div class="session-2">
</div>
</li>
</ul>发布于 2012-06-05 10:25:27
您可以使用stop().fadeTo()来防止这种情况。请参阅下面的代码和demo here
<script type="text/javascript">
$(document).ready(function(){
$('.content .guide ul.guide li .event').mouseover(function(){
$(this).find('.info').stop().fadeTo('slow',1);
});
$('.content .guide ul.guide li .event').mouseout(function(){
$(this).find('.info').stop().fadeTo('slow',0);
});
});
</script>发布于 2013-02-19 05:56:12
我只在Google Chrome中遇到了这个问题。
我已经将.fadeIn更改为.fadeTo(myDuration,1)来修复它。
另外,对我来说,没有.stop()一切都很好。
发布于 2015-02-20 21:32:04
我用这个解决了我的问题(我使用的是fadeIn和fadeOut)
$( "#board" ).stop().animate({ "opacity": 1 },300);https://stackoverflow.com/questions/10890776
复制相似问题