fullpage.js在滚动时更改滚动方向
fullpage.js change scroll direction on scroll
我正在使用fullpage.js创建一个wp网站,我想知道当用户到达某个页面时是否可以更改滚动方向。
为了更好地解释,让我们使用这个例子:http://alvarotrigo.com/fullPage/examples/navigationV.html
当您访问第二张幻灯片时,滚动方向是否可以更改为水平?
因此,我希望鼠标滚轮水平滚动,而不是单击箭头进行水平导航。
这在fullpage.js中可能吗?或者我必须换成另一个脚本吗?
好吧,这是基本方法:
- 当您到达需要水平滚动的页面时,添加一个
mousewheel
侦听器,该侦听器: - 将滚动事件转换为向左或向右滑动更改
- 阻止鼠标滚轮的默认设置,除非:
- 最后一张幻灯片并向下滚动或
- 第一次滑动并向上滚动
- 当您进入另一张幻灯片时,请关闭侦听器
还有一些代码可以防止在加载幻灯片时出现问题。
var currentSlide = 0;
var loaded = false;
$('#fullpage').fullpage({
navigation: true,
navigationTooltips: ['First section', 'Second section', 'Third section'],
sectionsColor: ['#f1c40f', '#e67e22', '#c0392b'],
loopHorizontal: false,
afterLoad: function (anchorLink, index){
loaded = true;
},
afterSlideLoad: function(anchorLink, index, slideAnchor, slideIndex){
currentSlide = slideIndex;
loaded = true;
},
onLeave: function(index, nextIndex, direction) {
loaded = false;
if (nextIndex == 2) {
$('#fullpage').on("mousewheel",function(e){
if(loaded){
loaded = false;
var delta = e.originalEvent.deltaY;
console.log(delta);
if(delta>0){ //down
if(currentSlide===2){//if last slide
$('#fullpage').off("mousewheel");
}else{
$.fn.fullpage.moveSlideRight();
e.preventDefault();
e.stopPropagation();
}
}else{ //up
if(currentSlide===0){//if first slide
$('#fullpage').off("mousewheel");
}else{
$.fn.fullpage.moveSlideLeft();
e.preventDefault();
e.stopPropagation();
}
}
}else{ //slide still loading, don't scroll
e.preventDefault();
e.stopPropagation();
}
});
}
}
});
JSFiddle
这适用于Chrome。我不知道e.originalEvent.deltaY
位是如何跨浏览器的。你可以用这个插件替换鼠标滚轮处理程序,使其正确地跨平台。
下面是一个带有jquery.mousewheel的JSFiddle,用于完全跨平台的解决方案。
相关文章:
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- fullpage.js在滚动时更改滚动方向
- 如何使用javascript检测不可滚动元素中的滚动事件和方向
- 滚动功能工作方向错误
- 更改滚动Horz的滑动方向
- 确定适合窗口的页面的滚动方向
- 将页面分成两部分,并将两个部分滚动到相反的方向
- 根据滚动方向和高度加载和删除内容页面
- 鼠标滚轮滚动上的滑块 - 方向右 - 左
- 检测禁用橡皮筋效果的页面中的滚动方向
- 使用jquery在同一方向上连续滚动滑块
- 检查'鼠标滚轮'滚动锁定的事件方向
- 如何在ScrollStart上使用Iscroll获得滚动方向
- 使用setTimeout查找滚动方向
- InternetExplorer9及以下版本,当在主体上使用rtl方向时,将滚动条设置为右侧
- 溢出时移动滚动方向检测:隐藏页面
- 如何在使用溢出后获得滚动方向:自动禁用动量滚动
- 手机上的滚动方向
- 我如何反转滚动方向上的谷歌图表
- 如何确定滚动方向,而不实际滚动