2011-07-25 14 views
0

divに画像を追加しようとしています。イメージが追加されたとき。 "ブロック"が表示されています。インラインで表示する必要があります。Jquery append - 画像インライン

これは私が実行しているコードです:

$(".showvideothumbs").append($('<img src="/garageimages/'+data.thumb+'" style="display:inline">').hide().fadeIn(2000)); 

私は「表示:インライン」はdivの中でそれをラップしようとしたセットが、「表示:ブロック」にjqueryの変更を。 、

$('<img src="/garageimages/'+data.thumb+'" style="display:inline">').hide().fadeIn(2000) 

あなたは実際には、ある画像を作成し、隠し、:代わりにインラインスタイルの

答えて

1

使用コールバック。

$(".showvideothumbs").append('&lt;img src="/garageimages/'+data.thumb+'" style="display:none;"/&gt;').find('img').fadeIn(2000,function(){ 
    $(this).css('display', 'inline'); 
}); 
+0

完璧に動作します! –

+0

下記の私のコメントを読んでください。 – Darm

0

は、私はあなたがこれをやっている理由として少し混乱している

.css('display', 'inline') 
+0

私はそれが好きで追加してみました:$( "showvideothumbs")を追加($( '

+1

"display:block" CSS値は、jQueryがfadeInアニメーションを処理するために使用します。アニメーションの終わりにcss値を更新するには、コールバック関数を使用する必要があります。私の答えを見てください。 – Darm

0

を試してみてくださいそれがDOMに追加される前に表示されます。

.css('display', 'inline')を使用してスタイルを設定すると効果的ですか?

$(".showvideothumbs").append($('<img src="/garageimages/'+data.thumb+'" style="display:inline">').css('display', 'inline')); 

次に、/(読みのより容易にするためにフォーマット)を含むDIVにフェード非表示を適用することができます。

$(".showvideothumbs") 
    .append($('<img src="/garageimages/'+data.thumb+'" style="display:inline">') 
     .css('display', 'inline')) 
    .hide().fadeIn(2000); 
+0

私はそのようにして、イメージを非表示にしてからフェードインすることができました。あなたのソリューションは、div全体を隠してからフェードインする以外は動作しますが、インラインソリューションは機能します。 –