2016-04-26 67 views
0

我需要在3秒内fadeIn,但这不适用于部分功能颜色()。 这是做这件事的最好方法是什么?如何创建多个回调?

$("button").click(function(){ 
    $("p").hide("slow", function(){ 
     alert("The paragraph is now hidden"); 
     color(); 
    }); 

    function color(){ 
    $("p").css('color','red').fadeIn('3000'); 
    color2(); 
    } 

    function color2(){ 
    $("p").animate({'margin-top':'100px'}); 
    } 
}); 
+0

它能够更好地在可变高速缓存(“P”),如果你会使用一次以上。 – 2016-04-26 01:27:29

+0

另外你的保证金顶部应该写成驼峰案例marginTop。 – 2016-04-26 01:41:09

回答

0

尝试这一个

var p = $('p'); 

$('button').on('click', function() { 

    p.each(function() { 

     $(this).hide('slow', function() { 

      $(this).css('color', 'red').fadeIn('slow', function() { 

       $(this).animate({ 
        marginTop: '100px' 

       }); 
      }); 
     }); 
    }); 
}); 
0

为什么不在函数中编码它们?

$("button").click(function(){ 
    $("p").hide("slow", function(){ 
     alert("The paragraph is now hidden"); 
     $("p").css('color','red').fadeIn('3000'); 
     $("p").animate({'margin-top':'100px'}); 
    }); 
}); 
0

的问题是,淡入接受整输入,而不是一些字符串。从参数中删除引号。 (“p”)。css('color','red')。fadeIn(3000);

字符串作为参数,以淡入提供的应该是一个预定义值,如“慢”

http://api.jquery.com/fadein/

+0

谢谢!我解决了它 –