Fullpage.js选项normalScrollElementTouchThreshold有什么作用?

我不能完全理解这个选项以及它是如何工作的,该文档提供了一个解释,但在实践中这是一个什么样的例子?

来自docs:

normalScrollElementTouchThreshold :(默认值为5)定义html节点树上的跃点数阈值Fullpage将测试normalScrollElements是否匹配,以允许触摸设备上的div上的滚动function。 (例如: normalScrollElementTouchThreshold: 3

mouseover元素通过DOM结构向下传播时,选项normalScrollElements在桌面浏览器上非常容易。

对于触摸设备,这种实现有点复杂,而且是normalScrollElementTouchThreshold参与的地方。 touchstarttouchmove事件不会以这种方式传播。

当识别出触摸事件时,将返回DOM结构中位于手指下方的最深元素。

这意味着,如果您的站点上有一个灯箱弹出插件,并且您希望它使用选项normalScrollElements ,那么如果您在其中有divs或paragrphas,那么将返回这些元素而不是您的灯箱容器您正在应用normalScrollElements

因此,对于插件来说,在触摸它时它是否是要忽略的元素,它必须在DOM结构中检查父元素。 默认情况下,它最多可检查5个父项。 但是如果需要你可以改变它。

为了更好地说明它,想象一下这种情况:

 
My Title
Box1
Box1

初始化:

 $('#fullpage').fullpage({ normalScrollElements: '.myLightBox', }); 

如果您在box元素上触摸lightobx,则box元素将返回到插件touchstarttouchmove事件。

正如您已将normalScrollElements设置为normalScrollElements myLightBox ,它会向上或向下滚动该部分,因为myLightBoxbox元素不同。

为了解决这个问题,插件在DOM结构中上升了5个级别,将它们与normalScrollElements的值进行normalScrollElements ,因此它会复选框,然后是body ,最后是myLightBox ,这将导致插件忽略对该元素的自动滚动。