5

因为我需要fadeIn() 另一个相同大小的元素,有没有办法让元素fadeOut() 保留空间,以便其他元素不会在一瞬间重新流动,然后fadeIn() 会带回另一个相同大小的元素吗?

4

4 回答 4

9

想到了两种技术:

  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

将要淡入淡出的元素保留在一个 fixed<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 回答