一个滚动后删除事件(Removing event after one scroll)

2019-09-27 06:10发布

我上有一个全屏幕的革命滑块的页面。 我需要的幻灯片上滚轮前进。 我有下面的代码使用了滚动事件(不滚轮)通过幻灯片前进,但是有一个固有的问题。 如果你真的旋转鼠标滚轮,它会通过整个甲板一下子滚动,你真的在​​那里你最终无法控制。 我希望在幻灯片的变化之后一旦检测一个使用滚轮的去除听众,然后再添加它......类似的东西......我只是猜测......也许它可以在某种程度上限制滚动事件点击?

我现在已经在我的文档准备代码块:

$(function(){
var _top = $(window).scrollTop();
var _direction;

$(window).scroll(function(){
var _cur_top = $(window).scrollTop();
if(_top < _cur_top)
{
revapi17.revnext();;
}
else
{
revapi17.revprev();;
}
_top = _cur_top;
console.log(_direction);
});

参考革命滑块API: http://clapat.ro/themes/creative/doc/rev-documentation.html#!/publicapi

开发网址: http://devonline.wpengine.com/story-2/


更新:谢谢大家。 我发现了一个解决方案:

如果如果(typeof运算revapi17 ===“未定义”)滑块不存在在网页返回//反弹;

//添加轮侦听器时滑动改变revapi17.on( 'revolution.slide.onchange',的onChange);

起作用的onChange(){

 // remove wheel listener before adding it to ensure event only fires once
 revapi17.off('DOMMouseScroll mousewheel').on('DOMMouseScroll mousewheel', onWheel);

}

功能onWheel(事件){

 // remove wheel listener as soon as wheel movement is detected
 revapi17.off('DOMMouseScroll mousewheel');

 event = event.originalEvent;

 if(event.wheelDelta > 0 || event.detail < 0) {

   revapi17.revprev();

 }
 else {

   revapi17.revnext();

 }

}

文章来源: Removing event after one scroll
标签: scroll