在項目中遇到了fullpage超出部分滾動的問題:最后一屏是底部,不足一屏,再往下滾,不再是整屏滾動,需要往上一屏連接。話不多說,看圖:
要實現這個功能,需要用到$.fn.fullpage.setAutoScrolling(false);這個方法是改變頁面的滾動方式--由整屏滾動改為自然滾動。結合fullpage的鈎子函數:afterLoad來使用,看代碼:
$.fn.fullpage({ slidesColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'], anchors: ['page1', 'page2', 'page3', 'page4', 'footer'], afterLoad(anchorLink, index) { if (index == 4) { // 當頁面滾動到倒數第二屏時,改變頁面滾動方式 $.fn.fullpage.setAutoScrolling(false); // 記錄頁面開始滾動的位置 let start = $(document).scrollTop(); let last = 0; $(document).scroll(function () { // 獲得頁面實時滾動的位置 let end = $(document).scrollTop(); // 如滾動的位置小於0,則代表頁面在倒數第二屏向上滾,這個時候再改變頁面的滾動方式 if (end - start < 0) { $.fn.fullpage.setAutoScrolling(true); } }) } } });
.