2012-06-18 102 views
2

我有一個問題,試圖使一個scrollTo內溢出。ScrollTop與jQuery和溢出div

我在菜單中創建了五個部分和五個鏈接。當我點擊菜單中的鏈接時,我希望它是正確的div。

的鏈接內容,我做到了: http://jsbin.com/adagid/

有時(當您直接點擊第一個或最後一個環節),它似乎正確,但有時顯示的內容是內容的中間。

我該如何解決這個問題?

+0

你能告訴我們一些代碼嗎? –

+1

他做到了,其實(鏈接顯示測試用例) – poncha

回答

2

更新你的代碼(克隆副本):http://jsbin.com/etexul

請注意,您需要考慮到容器的賬戶當前的滾動......

var scrollTop = jQuery('#' + gethash).offset().top + jQuery('.content').scrollTop() - 25; 

25有因保證金您在容器上使用

+0

這絕對不行。在FF中,這不會正確地滾動元素。 – Ohgodwhy

+0

@Ohgodwhy剛剛在FF中嘗試過,它的工作方式就像它應該(每個鏈接都滾動到相應的內容塊名稱之前)。什麼不像你期望的那樣工作? – poncha

+0

我無法真正解釋它爲什麼會這樣做......但是。如果您從上到下單擊每個鏈接,然後嘗試再次單擊第一個鏈接,則需要大約3-4次點擊,然後滾動到第4個項目,然後返回到第1個項目。它對於第四次點擊之後的任何元素都這樣做,不要問我爲什麼。 FF 13.0.1。 – Ohgodwhy

3

由於該部分的位置隨着每個滾動而改變,因此您希望在正在動畫的屬性上使用+=

檢查這個小提琴。我還將bind更改爲on,而不是試圖拆分類名以查找該部分,而是使用數據屬性。

http://jsfiddle.net/KvQ7W/

+0

非常感謝。 –