2011-07-16 4 views

答えて

14

私は上記の読むものの組み合わせから、これは私が得たベストです:

$(div).css({ 
     opacity: 0, 
     display: 'inline-block'  
    }).animate({opacity:1},600); 
+0

あなたは私の日を保存する –

+0

ちょうど偉大な男..ありがとう – Novasol

17

css()を使用している場合は、

$("div").fadeIn().css("display","inline-block"); 
+4

私はこれを試していないが、私はそれは要素が少し周りにジャンプすることがあります感を持っている、とアニメーション中に 'display:block;'に変更され、アニメーションが終了した後 'display:inline-block'に戻ります。だから私はそれがうまくいくとは思わない。とにかく試してみる価値があるかもしれないので、+1してください。 – Spudley

+0

@Spudley私は思ったのですが、 'position:inline-block'ではなく' position:inline'で 'display:block'を最初に表示するかどうかを確認しました。 http://jsfiddle.net/6DcY9/もちろん、他のコードによってはこれが起こるかもしれません。 – Sotiris

+0

私は '' fadeIn( "fast")css({'display': 'inline-block'}) 'と'私のレイアウトがまったく飛び跳ねることはありません。私はそれがfadeInが終了する前に表示プロパティを設定すると思います。また、IE7はインラインブロックの解釈方法を知らないので、 'html'のクラスが' ie7'であるかどうかをチェックし、 '.css({'display': 'inline'、 'zoom': ' 1 '}) 'を使用します。 – Jazzerus

6

私はinline-block要素内の余分な素子層を入れて、代わりにそのフェージングをお勧めしたいです。

<div style='display:inline-block;'> 
    <div id='fadmein'>....</div> 
</div> 

$('#fademein').fadeIn(); 

私はそれが余分なマークアップだと知っていますが、おそらく問題の最も実用的な解決策です。

代わりに、fadeIn()を使用するのではなく、JQueryのanimate()メソッドを使用して不透明度を変更する方法があります。これにより、opacityプロパティのみが変更されます。 displayプロパティは変更されません。

+0

コンテンツの設定方法によっては、最高の見た目のソリューションではありませんが、これはおそらく実装が簡単で、驚くほどうまく機能します。どうもありがとう! – shmeeps

1

jQueryフォーラムのthis questionによれば、解答のプロパティをblockに変更してフローティングにすることをお勧めします。

+5

gosh no。 'inline-block'を使用している場合は、浮動を避けようとしているからです。 – Spudley

+0

私は同意します。しかし、私はそれが関連するリンクを提供すると思う – Simeon

関連する問題