禁用整页滚动

Posted

技术标签:

【中文标题】禁用整页滚动【英文标题】:Disable full page scrolling 【发布时间】:2021-09-11 18:20:58 【问题描述】:

我正在编写一段代码,其中有 6 个部分,并且在视图中实现了整页滚动。因此,当我们在第 4 部分并向下滚动时,我们会完全向下滚动到第 5 部分。 但我想禁用其中一个部分的整页滚动,比如第 2 部分(即当用户在第 2 部分并且向下滚动时,应该发生正常的滚动行为而不是全页滚动)

我在这个问题上停留了一段时间,谁能告诉我如何才能做到这一点? 我应该使用 fullpage(jquery) 功能吗?

【问题讨论】:

@Spectric 代码很多,所以我不能在这里分享。我将再次尝试向您解释问题所在。所以有一个包含 6 个部分的 html 页面,并且在视图中实现了整页滚动功能。因此,如果我在第 3 部分并向下滚动一点,我将被直接发送到第 4 部分。但我想禁用此滚动并为第 5 部分正常滚动,但我无法实现 您的整页滚动应该通过添加事件监听器 onscroll 来实现并防止 Default。并滚动到所需的 XY... 改进您的事件侦听器以仅在您处于第 5 部分时跳过 preventDefault.. 如果您使用任何库进行滚动.. 调查该库中的选项 【参考方案1】:

也许我不明白你的问题,但你想隐藏浏览器滚动条?

        html, body 
            overflow-y: hidden;
        

否则也许图片会很有帮助或作为一个例子

【讨论】:

感谢您的回答,但我不想要这个。请阅读我在问题中发布的评论,以进一步了解我的问题 好吧,也许我现在明白了。我认为您只能通过知道您所在的页面并明确阻止从某个功能滚动整页来解决此问题。 我知道如何判断何时到达该部分,但如何防止整页滚动。 抱歉,如果我看不到您是如何实现整页滚动的,我想我无能为力。你在使用 EventListener,也许是***? 我认为通过删除导致从 div/section 滚动的类将解决您的问题..

以上是关于禁用整页滚动的主要内容,如果未能解决你的问题,请参考以下文章

整页滚动到特定部分

整页滚动和鼠标滚轮上的轻松

整页滚动插件(fullPage.js、scrollify.js 等)阻止默认的移动 Safari UI 行为

FLEX - 禁用滚动条的鼠标滚动?

如何启用垂直滚动的滚动条并禁用水平滚动?

禁用滚动视图中的反弹禁用 pageView 控制器中的水平滚动