在我目前的解決方案從一個div滾動到另一個div我支持previous
和next
。滾動到下一個div點擊,從當前位置
這可以通過保存上次滾動的div的索引來確定滾動到下一個的位置。然而,當用戶使用他們的輪子滾動時這會中斷我想知道是否有一種方法可以計算哪個div距窗口頂部最近,然後確定要滾動到下一個的索引。
這反過來會消除我遇到的問題。使用我目前的解決方案
測試錯誤:
- 轉到的jsfiddle鏈接
- 點擊向下箭頭兩次。它應該從一個div滾動到下一個div。
- 接下來,使用鼠標滾輪向下滾動頁面的3/4。
- 現在再次點擊向下箭頭。你會看到它會讓你回到你最後離開的頂部。
http://jsfiddle.net/JokerMartini/yj9pvz2a/1/
var curr_el_index = 0;
var els_length = $(".section").length;
$('.btnNext').click(function() {
curr_el_index++;
if (curr_el_index >= els_length) curr_el_index = 0;
$("html, body").animate({
scrollTop: $(".section").eq(curr_el_index).offset().top - 20
}, 700);
});
$('.btnPrev').click(function() {
curr_el_index--;
if (curr_el_index < 0) curr_el_index = els_length - 1;
$("html, body").animate({
scrollTop: $(".section").eq(curr_el_index).offset().top - 20
}, 700);
});
解決方案更新時間:http://jsfiddle.net/JokerMartini/82wo9e3c/1/
如果您一次滾動多個div元素,這可能會失敗。 – Aditya
@Aditya,怎麼樣? – indubitablee
剛剛從A滾動到J,然後單擊向上箭頭。跳過我,直接去了H.但這個解決方案几乎可以在所有情況下工作。 – Aditya