同じサイズの別の要素をfadeIn()して戻す必要があるため、要素をfadeOut()してスペースを維持し、他の要素が一瞬リフローされないようにする方法はありますか?およびfadeIn()は、同じサイズの別の要素を戻しますか?
5573 次
4 に答える
9
2つのテクニックが思い浮かびます。
- 正しい量のスペースを占めるdivで要素をラップします。
- .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 に答える