2012-09-27 80 views
1

所以我有一个默认显示的div。我正在使用一个函数来滑动元素,然后更改内容,然后滑动回来以显示新信息。jQuery向上/向下滑动:不影响下面的内容?

而这一切都工作正常。

有什么让我困扰的是,当div动画下面的所有内容时,它都会随着它而上下移动。

基本上,它好像隐藏了它的“显示:无” - 可以这么说,这意味着它被排除在流程之外。 我希望它更像“知名度:隐藏”。

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

+2

如果你发布你的代码,它会更有意义! – hsalama

回答

2

元素向上滑动上述元素被移除时以填补空白。对于HTML,重力是向上的,这就是为什么我们向下建立HTML(从浏览器的顶部向下)。

让我们假设你的对象滑动向上如下:

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

你需要做的是换行DIV在保持相同高度的另一格:

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

这样,当第一个元素压碎,差距将由父div开放。

+0

我想过这样做。这似乎是一个简单的方法来做到这一点。我只是觉得可能会有一些选择与我失踪的jQuery效果,我想避免添加无意义的div。有没有办法只是通过jQuery的东西说:“即使这消失了,仍然保持它的位置”? – Zuko

+0

我不这么认为。你最好的选择是HTML div。有一个div,无论如何RAM会更轻,因为为了让jQuery函数能够做到这一点,它将不得不做出分隔符。 –

1

我认为最简单的做法是将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;} 

这样,滑块一个固定大小的元素内上下移动和元素的其余部分将不会受到影响。