Javascript 只需要在鼠标上快速滚动触发/模拟滑动手势+;触控板

Javascript 只需要在鼠标上快速滚动触发/模拟滑动手势+;触控板,javascript,html,web,Javascript,Html,Web,我有一个项目,100%的宽度和高度面板,并想使自定义动画之间的过渡 这些转换应该通过触摸和鼠标设备上的垂直滑动来触发,我知道鼠标/轨迹板不支持滑动,这就是所需插件的位置 Onepage scroll和fullPage.js按我需要的方式处理滚动,但还有很多其他东西我没有 因此,我正在寻找一个只处理刷卡部分的插件,或者一个健壮的方法来处理自己的刷卡触发器 重要要求:手机上会有自然滚动的灯箱。所以我需要一个开关来切换这些手势。如果我自己编写代码,这将很容易。现有插件内部的处理不会- 谢谢 编辑

我有一个项目,100%的宽度和高度面板,并想使自定义动画之间的过渡

这些转换应该通过触摸和鼠标设备上的垂直滑动来触发,我知道鼠标/轨迹板不支持滑动,这就是所需插件的位置

Onepage scroll
fullPage.js
按我需要的方式处理滚动,但还有很多其他东西我没有

因此,我正在寻找一个只处理刷卡部分的插件,或者一个健壮的方法来处理自己的刷卡触发器

重要要求:手机上会有自然滚动的灯箱。所以我需要一个开关来切换这些手势。如果我自己编写代码,这将很容易。现有插件内部的处理不会-

谢谢


编辑Alvaros答案

lathargy.js
似乎很有希望,但我就是无法让它在oO中运行(或者完全误解了应该发生的事情)

我有一个空白页面,只是用默认选项复制了它的Github页面示例中的代码

var lethargy = new Lethargy();

$(window).bind('mousewheel DOMMouseScroll wheel MozMousePixelScroll', function(e){
    e.preventDefault()
    e.stopPropagation();
    if(lethargy.check(e) !== false) {
        console.log(lethargy.check(e));
    }
});
奇怪的是,在上下滑动之间切换时,我得到以下日志:


据我所知,每次刷卡只能有
-1
1
。无
false
,且单次刷卡时不能有多个
1
s或
-1
s。但这就是正在发生的事情。

如果你尝试自己动手,你将面临的两个最大问题是:

1-笔记本电脑和一些鼠标(如苹果鼠标)的动态滚动

2-触摸设备

因此,您可以将fullPage.js与空部分一起使用,并使用回调或fullPage.js状态类设置自己的固定元素的动画。如所见或所见。两者都使用fullPage.js

另一个选择是使用类似的东西,试图通过动态滚动解决问题。虽然它不处理触摸设备

更新 如果您阅读,您将了解这些值的含义:

嗜睡。如果是正常向上滚动事件,检查(e)将返回1;如果是正常向下滚动事件,检查(e)将返回1;如果是惯性滚动启动的,检查(e)将返回false

因此,
false
的结果显示了您不想使用的动态滚动。
你只需要关心
1
-1
就可以了。

如果你想自己解决问题,你将面临的两个最大问题是:

1-笔记本电脑和一些鼠标(如苹果鼠标)的动态滚动

2-触摸设备

因此,您可以将fullPage.js与空部分一起使用,并使用回调或fullPage.js状态类设置自己的固定元素的动画。如所见或所见。两者都使用fullPage.js

另一个选择是使用类似的东西,试图通过动态滚动解决问题。虽然它不处理触摸设备

更新 如果您阅读,您将了解这些值的含义:

嗜睡。如果是正常向上滚动事件,检查(e)将返回1;如果是正常向下滚动事件,检查(e)将返回1;如果是惯性滚动启动的,检查(e)将返回false

因此,
false
的结果显示了您不想使用的动态滚动。

你只需要关心
1
-1
就可以了。

不太清楚为什么你不能使用这些库。你说“有很多我不能拥有的东西”是什么意思?这到底是什么?我不想要这个插件带来的效果;我根本不想让页面滚动;我不想被迫使用他们的html标记–我真的只需要滚动的触发器,这样我就可以在其中写入我自己的回调等。我想我可以自己使用
mouseweel
DOMMouseScroll
事件等。;但是有太多的细节和跨浏览器的问题需要解决。更新了我的答案。不太清楚为什么你不能使用这些库。你说“有很多我不能拥有的东西”是什么意思?这到底是什么?我不想要这个插件带来的效果;我根本不想让页面滚动;我不想被迫使用他们的html标记–我真的只需要滚动的触发器,这样我就可以在其中写入我自己的回调等。我想我可以自己使用
mouseweel
DOMMouseScroll
事件等。;但是有太多的细节和跨浏览器的问题需要纠正..更新了我的答案。好吧,但是如果我使用
fullPage.js
你会如何解决会出现自然滚动的覆盖?我需要打开和关闭滚动事件的功能。不太确定您的想法以及fullPage.js可以作为您的解决方案扩展到哪个扩展,但fullPage.js提供了关闭和打开滚动事件的功能,例如
设置自动滚动(false)
。您可以检查其中的许多项。可能使用
滚动条:true
更适合您,因此无论您是否使用
自动滚动
,滚动条始终可见。谢谢你的帮助;如果
lathargy.js
照它说的做,那正是我要找的;但是我不能让它工作-你能看看吗?我编辑了这个问题。但是当你再次查看我的代码时,它会说“如果lathargy.check(e)为false,不要做任何事情”,但它会记录false。我仍然不明白为什么1和-1经常被打印出来;我想使用嗜睡的原因仍然是,我只想触发每刷一次。这里不会发生这种情况。好吧,但是如果我使用
fullPage.js
你会如何解决会出现自然滚动的重叠?我需要打开和关闭滚动事件的功能。我不太确定您的想法以及fullPage.js可以为您提供哪些扩展,但fullPage.js提供了一些功能