【问题标题】:jQuery slide up/down: not effect content below it?jQuery向上/向下滑动:不影响它下面的内容?
【发布时间】:2012-09-27 03:37:23
【问题描述】:

所以我有一个默认显示的 div。我正在使用一个函数来滑动元素,然后更改内容,然后向后滑动以显示新信息。

这一切都很好。

困扰我的是,当 div 为下面的所有内容设置动画时,它会上下跟随它。

基本上,它似乎在隐藏它是“显示:无” - 可以这么说,这意味着它被从流程中取出。 我希望它更像“可见性:隐藏”。

...如果这有道理(上帝,我希望如此。这是漫长的一周。=P)

【问题讨论】:

  • 如果你发布你的代码会更有意义!

标签: jquery html css effects slidedown


【解决方案1】:

当上面的元素被移除时,元素会向上滑动以填补空白。对于 HTML,重力是向上的,这就是我们向下构建 HTML 的原因(从浏览器顶部向下)。

假设你的物体向上滑动如下:

<div class="SlideUpDiv" style="height:500px; display:block;">Hello!</div>

您需要做的是将该 div 包装在另一个具有相同高度的 div 中:

<div class="slideUpContainer" style="height:500px; display:block;">
  <div class="slideUpDiv" style="height:500px; display:block;">Hello!</div></div>
</div>

这样,当第一个元素被压碎时,间隙将被父div保持打开。

【讨论】:

  • 我想过这样做。这似乎是一种简单的方法。我只是想可能有一些我缺少的 jQuery 效果选项,我想避免添加无意义的 div。有没有办法让 jQuery 传递一些“即使它消失了,仍然保持它的位置”的东西?
  • 我不这么认为。您最好的选择是 HTML div。无论如何,有一个 div 会在 RAM 上更轻,因为为了让 jQuery 函数能够做到这一点,它必须制作垫片。
【解决方案2】:

我认为最简单的做法是将 Slide 元素放在具有固定高度的 div 中。例如

<div class='wrapper'>
    <div class='slider'>
    <!-- content for slider here -->
    </div> <!-- close slider -->
</div>  <!--close wrapper -->

然后设置然后设置设置滑块jquery,我假设你已经完成了,不需要看到它。

CSS 看起来像:

div.wrapper {height: 250px; overflow: hidden;}
div.slider {max-height: 250px;}

这样,滑块在固定大小的元素内上下移动,其余元素不受影响。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多