jquery fadein(),请帮助一下

时间:2014-11-24 05:38:33

标签: jquery fadein

我有一个非常简单的脚本(因为我是JQ菜鸟)
它如此简单我甚至不会做一个小提琴但会发布下面的代码:

        var tip;
                    var orig;
                    var switched = 0;



                    $('.output').hover(function () {

                         tip =  $(this).attr('title');
                         orig = $(this).text();


                        if(tip != orig)
                        {
                        $(this).text(tip).fadeIn(2000);
                        switched = 1;
                        }

                    }, function () {

                        if(switched == 1)
                        {
                        $(this).text(orig).fadeIn();
                        }

                    });

它按预期工作,因为我将鼠标悬停在span上并使用“输出”类,它会使用title的{​​{1}}切换值,但我的问题是它没有淡化文本。如何让它淡出标题? (鼠标输入和鼠标输出)

HTML就像这样:

span

1 个答案:

答案 0 :(得分:3)

fadeIn完成后,您需要致电fadeOut。这是因为,如果它已经可见,那么另一个fadeIn将不会对它产生任何影响。因此,您必须先fadeOut,然后在完成后调用fadeIn

fadeInfadeOut都有一个回调作为参数,一旦效果完成就会被调用。将代码作为匿名回调包装为fadeOut

的参数

<强>

&#13;
&#13;
var tip;
var orig;
var switched = 0;

$('.output').hover(function () {
    tip = $(this).attr('title');
    orig = $(this).text();
    if (tip != orig) {
        $(this).fadeOut(function () {
            $(this).text(tip).fadeIn();
            switched = 1;
        });
    }
},
    function () {
        if (switched == 1) {
            $(this).fadeOut(function () {
                $(this).text(orig).fadeIn();
                switched = 0;
            });
        }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span title="Title" class="output">Hello</span>
&#13;
&#13;
&#13;