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