防止目标元素在某些条件下滚动到顶部

时间:2017-12-19 12:58:18

标签: javascript

基本上,如果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);
            },

1 个答案:

答案 0 :(得分:1)

我不认为你可以看到更多关于scroll event here的信息,我也建议你看看这部分:

  

&#34;由于滚动事件可以以高速率触发,因此事件处理程序   不应该执行计算上昂贵的操作,例如DOM   修改。相反,建议使用限制事件   requestAnimationFrame,setTimeout或customEvent,如下所示:&#34;

和这部分:

  

&#34;在iOS UIWebViews中,滚动时不会触发滚动事件   发生;它们只在滚动完成后才会被触发。   请参阅Bootstrap问题#16202。 Safari和WKWebViews不受影响   这个错误。&#34;

也许创建自定义滚动可以为您解答。