平滑fadeIn()动画

时间:2011-10-06 12:14:11

标签: jquery animation fadein

我的fadeIn动画出现问题,无法正常使用。相反,它会立即显示没有任何动画?

function createABRN(url) {

    formSerial2 = $('#baseForm').serialize();
    $("input[name='ipreis']").val($selPositionVals[1]);

    $.ajax({
        type: "POST",
        url: url,
        data: formSerial2,
        success: function (msg) {

            $(".alert").html(msg);
            $(".alert").append($($delBillLink));
            createPositions();

            $('input[name="aufbest"]').hide();
            $('input[name="iweiter"]').hide();

            $('.position').fadeIn(); //<-- no animation, just jumps in?                     
        }
    });

}

4 个答案:

答案 0 :(得分:0)

初看起来,我会试试这个:

$('.position').fadeIn('slow');

答案 1 :(得分:0)

fadeIn需要一个速度设置,如fadeIn(“slow”);

编辑:

正如评论者所说,fadeIn默认为400毫秒,介于慢速(600毫秒)和快速(200毫秒)之间。

也许你应该尝试在ajax完整处理程序中运行fadeIn,这样当ajax帖子完成并且elemtent存在时它会触发。

为了确保它是隐藏的,你可以尝试在插入ajax的同时在元素上运行hide()。

$('.position').hide();

$.ajax({
        type: "POST",
        url: url,
        data: formSerial2,
        success: function(msg){

          $(".alert").html(msg);
          $(".alert").append($($delBillLink));
          createPositions();

          $('input[name="aufbest"]').hide();
          $('input[name="iweiter"]').hide();
        },
        complete : function(){
          $('.position').fadeIn("slow"); 
        }
    });     

答案 2 :(得分:0)

与之前的答案一样,我建议

$('.position').fadeIn('slow');

但你也可以指定一个整数作为淡入时应该达到的毫秒数,例如

$('.position').fadeIn(5000);

这将使元素在5秒内淡入。

答案 3 :(得分:0)

最初隐藏了吗?先尝试隐藏它:

$('.position').hide().fadeIn();