在调用函数时动画完成之前执行JQuery fadeIn()回调

时间:2015-01-08 17:10:56

标签: jquery

我在网站上看到很多关于此的帖子,但大多数都是针对试图制作多个动画的人,我尝试了一些解决方案并将其缩小到这个范围,我有一个盒子,我试图褪色,出于某种原因,如果我将函数直接放在代码中就可以了:

$(document).ready(function(){
    $('#div3').fadeIn(1000, function(){alert('Done')});
});

但是如果我调用一个完全相同的函数,它会在动画开始之前发出警告:

$(document).ready(function(){
    $('#div3').fadeIn(1000, test());

    function test(){
        alert("Done");
    };
});

我尝试将test()函数放入和放出(document).ready(),结果相同。我不知道是什么引起了这种情况,这可能是我想念的小事,但对于我的生活,我看不到它。请指教。

由于

2 个答案:

答案 0 :(得分:1)

您立即调用该功能,而不是引用它。删除括号

$('#div3').fadeIn(1000, test);

答案 1 :(得分:1)

你正在那里调用函数测试,而是传递函数引用,它应该可以工作

 $(document).ready(function(){
   $('#div3').fadeIn(1000, test);
                    //--------^--here remove the parenthesis
   function test(){
     alert("Done");
   };
 });
相关问题