jqueryでは、要素の不動産を失うことなくフェードアウト()できますか? (目に見えないvsディスプレイ:なし)

StackOverflow https://stackoverflow.com/questions/3074015

質問

同じサイズの別の要素をfadein()に戻す必要があるため、スペースが保持されるように要素を()フェードアウトする方法があります。 Fadein()は同じサイズの別の要素を取り戻しますか?

役に立ちましたか?

解決

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

  1. 正しい量のスペースを占めるdivに要素を包みます。
  2. 使用 .Animate アイテムの不透明度を100%から0%に変更する方法、その後、アニメーションが完了すると、新しい要素を交換し、アニメーションを使用して不透明度を0%から100%に変更します。

他のヒント

私の提案は、あなたはそれをdivで包みます...そしてそのdivに同じ次元を置くことです...

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

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

    /**
     * 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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top