2016-05-07 93 views
0

我想做一個最簡單的jQuery可能的排序內容滑塊,沒有插件和沒有分配ids給每個div。jQuery的scrollTop在容器上點擊只能工作一次

我有一個固定的位置#container這是100%的寬度和45%的頁面高度,幷包含5個divs,稱爲.sect。所有5 .sect是容器的100%寬度,也是頁面高度的45%,這意味着當滾動到時,1 .sect將填充#container的可見部分。

a div #down#container應點擊,使#container滾動到每個。 sect s。這是我的jQuery。我將scrollTop的值設置爲.sect的高度,以便#container每次點擊時都會滾動每個部門的高度。

$('#down').on('click', function(e) { 
    e.preventDefault(); 
    $('#container').animate({ scrollTop:$('.sect').height() }) 
}); 

首次#down被點擊,滾動#container從第.sect考慮到2 .sect沒有問題,但在這之後,#down不能再做什麼了。 jsfiddle - 我認爲html和css並不值得注意。我是jQuery的新手,請解釋我失蹤的內容!

+0

看看這個線程:http://stackoverflow.com/a/28052027/6294054 –

+0

@JCFong謝謝你,我向這個!我仔細閱讀並理解了jQuery背後的邏輯,並將jQuery應用到了我的佈局中,但它的工作原理不一樣。它可能與我的div高度有關,但我不知道爲什麼它不能工作相同https://jsfiddle.net/vq23tku7/14/ – ampora

回答

0

我認爲你缺少的容器應保持滾動取決於它有多少滾動的做,你的代碼只向下滾動到1的高度.sect它應該是這樣的:

scrollTop的:滾動+高度

scrollTop: $("#container").scrollTop() + $(".sect").height(); 
+0

非常感謝你!我沒有仔細閱讀scrollTop doc,但現在我已經做了,這很有道理! scrollTop是元素的滾動條的位置。 – ampora

+0

很高興我幫助,我猜。 –

相關問題