2013-12-16 42 views
0

我想滾動我的div內容基於用戶點擊的鏈接。如何滾動div在我的情況?

http://jsfiddle.net/BPB7z/11/

我的代碼,當我沒有向下滾動工作正常。但是,如果向下滾動並單擊鏈接,內容將滾動到頂部而不是當前頂部位置。

例如。

 //works fine without scrolling the windows. 
------------------------------------ <- top of my browser 
    test1 | test1 
    test2 | 
    test3 | 
      | 
      | 
      | 
      | test2 

如果我向下滾動窗口並單擊測試9鏈接。測試9格將隱藏像

------------------------------- <- top of my browser. 
test9  | 
test10 | 
test11 |test10 
test12 | 
      | 
      | 
      | 

有人可以幫我解決這個問題嗎?非常感謝!

+0

您已將高度設置爲900px。這比瀏覽器的高度要高,所以你現在有2個滾動條。如果你已經向下滾動瀏覽器滾動(而不是隻是'#items'滾動),那麼該div的頂部隱藏在頁面頂部。 – davidpauljunior

+0

準確地說 - 這是他被問及如何解決的情況,以及這裏問題的目的。 –

+1

好的。我把它解釋爲當你向下滾動溢出的自動div時發生的事情。如果OP不知道瀏覽器本身也在滾動,我添加了註釋。 – davidpauljunior

回答

1

我希望我能正確理解你的問題。如果是這樣,這個小更新將工作:

http://jsfiddle.net/BPB7z/13/

$('#items').animate({ 
    scrollTop: $('#'+id+'-test').offset().top - $(window).scrollTop() + $('#items').scrollTop() 
}, 700); 

通過減去$(window).scrollTop()價值,我們找到真正的位置動畫到,考慮到該窗口的當前滾動位置。

+0

正是我在這裏需要的。謝謝! – FlyingCat

相關問題