2011-01-14 3 views
100
var html = "<div id='blah'>Hello stuff here</div>" 

$("#mycontent").append(html).fadeIn(999); 

これはうまくいかないようです。フェードインした要素を追加する[jQuery]

コンテンツが追加されるときにクールな効果が欲しいだけです。

注:私は、「mycontent」全体ではなく、新しい「blah」divをフェードインしたいだけです。

jQueryの実装「メソッドチェーン」、あなたは連鎖方式が同じ要素に呼び出すことができることを意味:少しより多くの情報を追加する

+0

[フェードインの使用と追記]の可能複製(http://stackoverflow.com/questions/327682/using-fadein-and-append) – Medorator

答えて

228
$(html).hide().appendTo("#mycontent").fadeIn(1000); 
+1

新しい "曖昧な" divを消してほしいだけです。 – TIMEX

+0

@TIMEX:これはこれがすべきことです。 – icktoofay

+0

素晴らしい!ありがとう! – TIMEX

44

。最初のケースでは:

$("#mycontent").append(html).fadeIn(999); 

あなたは、この場合#mycontentには、メソッドチェーンの対象であるオブジェクトにfadeInコールを適用することになります。あなたが望むものではありません。 @のicktoofayの(素晴らしい)で

あなたが持っている答え:

$(html).hide().appendTo("#mycontent").fadeIn(1000); 

これは基本的に意味し、ターゲットでフェードイン、その後#mycontentに追加し、デフォルトでは非表示として設定し、htmlを作成します。メソッドチェーンの現在はの代わりにhmtlです。

14

これも私が働く

$(Your_html).appendTo(".target").hide().fadeIn(300); 

よろしく

関連する問題