2012-09-27 60 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;} 

這樣,滑塊一個固定大小的元素內上下移動和元素的其餘部分將不會受到影響。