2010-10-11 7 views
2

Je suis en train de faire la chaîne méthode suivante:Est-ce que le chaînage dans jQuery fonctionne avec des méthodes de manipulation et d'effets?

$(somehtml).insertAfter("#someelement").fadeIn('slow'); 

Ce que je voudrais arriver est pour le somehtml à ajouter, mais avec l'effet fadeIn.

Cependant, cela ne se passe pas du tout dans mon navigateur, c'est juste d'ajouter le contenu comme si le fadeIn n'était même pas là.

Est-ce que je fais le chaînage de manière incorrecte?

Répondre

1

Probablement parce que l'élément est déjà visible à ce moment-là, et il n'y a rien à disparaître dans Essayez le cacher après sa création, puis la décoloration dans:.

$(somehtml).hide().insertAfter("#someelement").fadeIn('slow');
+0

Cela fait clignoter. Ce que je voudrais faire, c'est de commencer caché, puis montrer. – Joseph

+1

vous étiez sur la bonne voie, cela fonctionne: $ (somehtml) .hide(). InsertAfter ("# someelement"). FadeIn ('lent'); – Joseph

+0

yup, ça l'a fait! – Joseph

0

Alec était sur la bonne voie, mais vous allez avoir un flash de l'élément en train de le faire comme il le fait.

C'est une bien meilleure façon de faire la même chose:

$('<div />', { 
    text: "Your Text", 
    css: { 
    display: "none" 
    } 
}).appendTo('body').fadeIn('slow'); 
Questions connexes