如何在不隐藏正文滚动条的情况下在固定 div 上滚动时禁用正文滚动?

Posted

技术标签:

【中文标题】如何在不隐藏正文滚动条的情况下在固定 div 上滚动时禁用正文滚动?【英文标题】:How to disable scroll of body while scrolling on a fixed div without hiding scroll bar of body? 【发布时间】:2018-08-02 18:44:28 【问题描述】:

当我在固定的 div 上滚动时,如何防止滚动正文。我试过overflow:hidden of body,它工作得很好,只是当滚动条被移除时页面在晃动。有没有办法保持滚动条并防止滚动?

【问题讨论】:

如果你能提供你的代码会很好(最好是带有 jsfiddle 或类似的链接)。 你有例子吗? 【参考方案1】:

js fiddle 用于具有 2 个 p 元素和一个 div 的简单主体。如您所见,如果您在 div 内滚动,则正文无论如何都不会滚动。无需将溢出设置为隐藏。只需确保 div 本身已将溢出-y 设置为滚动即可。 CSS 在下面的 div 上。 body 上不需要 css,也不需要 javascript

.theDiv
    max-height: 300px;
    overflow-y: scroll;

【讨论】:

【参考方案2】:

我用这段代码解决了这个问题:

<script>
    $(document).ready(function()

    $(document).on('mousewheel',".dropdown-menu-rightt", function(e)
        e.stopPropagation();
       $(this).scrollTop($(this).scrollTop()-e.originalEvent.wheelDeltaY);
      //prevent page fom scrollin
      return false;
   );
   );
   </script>

【讨论】:

以上是关于如何在不隐藏正文滚动条的情况下在固定 div 上滚动时禁用正文滚动?的主要内容,如果未能解决你的问题,请参考以下文章

在不影响浏览的情况下隐藏垂直的滚动条的方法都有哪些?

div盒子存在阴影导致父级标签出现滚动条

使用js或jq控制一个div,当滚动到页面顶部的时候固定在顶部,离开可继续滚动吗?

如何让DIV固定在页面而不随着滚动条随意滚动

怎么让div内的某个元素固定不随div的滚动条的滚动而滚动?

怎么让div内的某个元素固定不随div的滚动条的滚动而滚动?