5

同じサイズの別の要素をfadeIn()して戻す必要があるため、要素をfadeOut()してスペースを維持し、他の要素が一瞬リフローされないようにする方法はありますか?およびfadeIn()は、同じサイズの別の要素を戻しますか?

4

4 に答える 4

9

2つのテクニックが思い浮かびます。

  1. 正しい量のスペースを占めるdivで要素をラップします。
  2. .animateメソッドを使用してアイテムの不透明度を100%から0%に変更し、アニメーションが完了したら、新しい要素を交換し、もう一度animateを使用して不透明度を0%から100%に変更します。
于 2010-06-19T01:58:42.473 に答える
2

私の提案は、それをdivでラップして...そしてそのdivに同じ次元を置くことです...

于 2010-06-19T01:55:49.673 に答える
2

フェードしたい要素を固定内に保持し、その<div style="display:block;width:300px;height:200px;">中の要素を非表示にしても、レイアウトにはまったく影響しません。

于 2010-06-19T01:59:58.460 に答える
0

私は自分で修正しました。フェードアウトを実行する前に、次の関数を実行します。

    /**
     * Keep the window height, to avoid user being thrown up (i.e. on fade out, remove, hide, etc)
     */

        function keepHeight() {
            $('body').css('min-height', $(document).height());
        }

たとえば、次のようになります。

/**
 * Keep window height
 */

    keepHeight();

/**
 * Fade out
 */

    $('#someDiv').fadeOut();
于 2014-05-27T17:14:27.663 に答える