Jquery FadeIn和FadeOut

时间:2012-10-04 21:16:55

标签: jquery fadein fadeout

我正在尝试淡出div元素,更改其中的文本,并将其淡入... ...

我的代码就在这里 -

<script>
        $(document).ready(function(){
            $("#l2").click(function(event){
                event.preventDefault();
                $("#1").fadeOut();
                $("#1").replaceWith('Testing');
                $("#1").fadeIn();
            });
        });
    </script>
单击l2点击它将fadeOut div id 1替换并淡入...但它失败了......非常感谢!

4 个答案:

答案 0 :(得分:3)

您希望使用.text.html而不是.replaceWith - 这是用于处理DOM元素。此外,.text.html不能与队列一起使用,因此您无法将它们链接起来。你必须使用回调:

$("#1").fadeOut(function () {
   $(this).text('Testing').fadeIn();
});

答案 1 :(得分:1)

您需要使用回调来实现目标:

$("#1").fadeOut(500, function(){
     $("#1").html('Testing');
     $("#1").fadeIn();
});

当fadeOut完成时,将执行作为参数传递的函数。

答案 2 :(得分:0)

只需使用淡出回调即可。这是一个快速小提琴http://jsfiddle.net/M5PnY/2/点击文字

编辑------

用html()更改替换,之前没有看到

$(document).ready(function(){
    $("#1").click(function(event){
        event.preventDefault();
        $("#1").fadeOut(function(event){
            $("#1").html('Testing').fadeIn();
        });
    });
});​

答案 3 :(得分:0)

在第二行中,您将元素#1替换为新元素,然后再次将其淡入淡出。

$("#1").replaceWith('Testing');

结果div#1被文本Testing

取代

因此您应该使用:

$("#1").html('Testing');