2016-04-26 2 views
0

Мне нужно fadeIn через 3 секунды, но это не работает в функции функции color(). Что это лучший способ сделать это?Как создать несколько обратных вызовов?

$("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

его лучше кэш («р») в переменной, если вы будете использовать его более чем один раз , –

+0

Кроме того, маржа сверху должна быть написана на краю верблюда. –

ответ

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

Проблема состоит в том, что FadeIn принимает целое число вход, а не строка числа. Удалите цитаты из своего аргумента.

$ ("p"). Css ('цвет', 'красный'). FadeIn (3000);

Строки, предоставляемые в качестве параметров FadeIn должен быть один из предопределенных значений, таких как «медленный»

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

+0

спасибо! я решил это –

Смежные вопросы