jqueryでは、要素の不動産を失うことなくフェードアウト()できますか? (目に見えないvsディスプレイ:なし)
-
28-09-2019 - |
質問
同じサイズの別の要素をfadein()に戻す必要があるため、スペースが保持されるように要素を()フェードアウトする方法があります。 Fadein()は同じサイズの別の要素を取り戻しますか?
解決
2つのテクニックが思い浮かびます:
- 正しい量のスペースを占めるdivに要素を包みます。
- 使用 .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();
所属していません StackOverflow