在项目中遇到了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);
}
})
}
}
});