基本上,如果handleScroll函数中的if条件为true,我想禁止将目标从滚动到顶部。所以换句话说如果条件是真的。用户不能再滚动到目标元素的顶部,并且能够滚动到元素的底部。
如果可能的话,我也不希望溢出隐藏的变通方法。
target.addEventListener('scroll', e => this.handleScroll(e, sectionRect, offset, target));
handleScroll(event, sectionRect, offset, target) {
if ((sectionRect.top - offset) < target.scrollTop)
console.log('dont scroll', event);
},
我不认为它可能你可以看到更多关于scroll event here,我也建议看到这部分:
“由于滚动事件可以以高速率触发,因此事件处理程序不应执行计算上昂贵的操作,例如DOM修改。相反,建议使用requestAnimationFrame,setTimeout或customEvent来限制事件,如下所示:”
而这部分:
“在iOS UIWebViews中,滚动时不会触发滚动事件;它们仅在滚动完成后触发。请参阅Bootstrap问题#16202.Safari和WKWebViews不受此错误的影响。”
也许创建自定义滚动可以为您解答。