fullpage最后一屏超出部分滚动,由整屏滚动改为自然滚动
在项目中遇到了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); } }) } } });
.