首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何停止fadeIn()闪烁?

如何停止fadeIn()闪烁?
EN

Stack Overflow用户
提问于 2012-06-05 10:21:50
回答 4查看 12.3K关注 0票数 8

目前我有一个简单的div,我想让它在鼠标经过另一个div时淡入,但它会闪烁3次。

我已经阅读了一些其他问题,我认为这与我的代码结构有关。但我不确定如何纠正我的,因为它已经很基础了。

以下是我的代码:

代码语言:javascript
复制
<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

代码语言:javascript
复制
.content .guide ul.guide li .event .info {display:none;}

HTML

代码语言:javascript
复制
<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>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-05 10:25:27

您可以使用stop().fadeTo()来防止这种情况。请参阅下面的代码和demo here

代码语言:javascript
复制
<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>
票数 22
EN

Stack Overflow用户

发布于 2013-02-19 05:56:12

我只在Google Chrome中遇到了这个问题。

我已经将.fadeIn更改为.fadeTo(myDuration,1)来修复它。

另外,对我来说,没有.stop()一切都很好。

票数 8
EN

Stack Overflow用户

发布于 2015-02-20 21:32:04

我用这个解决了我的问题(我使用的是fadeIn和fadeOut)

代码语言:javascript
复制
$( "#board" ).stop().animate({ "opacity": 1 },300);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10890776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档