javascript - 禁用滚动但保留滚动条 CSS

标签 javascript html css

我找不到解决方案,这里有一个问题,但答案不是很有用(至少对我而言)。

我有一个 JavaScript 模式弹出窗口,它通过在页面上放置透明的 div 来禁用背景上的所有内容。它还通过将溢出设置为隐藏来禁用滚动,并且必须这样做,因为页面可以用鼠标滚轮滚动,否则会分散用户的注意力。

问题是,当隐藏和显示滚动条时,页面会调整大小并且效果很难看。此外,我的页面的设计方式是,如果我阻止它调整大小,那也很丑陋。

我想要的是禁用滚动条,但保持它可见(页面内容比屏幕长)。这在 CSS 中有可能吗?

最佳答案

不要更改 css,这将删除 滚动条,正如您所说的更改页面布局,请尝试调用 jquery 函数 代替。

// call your pop up and inside that function add below
$('body').on('scroll mousewheel touchmove', function(e) {
      e.preventDefault();
      e.stopPropagation();
      return false;
});

然后当您关闭模式时,调用相同的函数但将 on 替换为 off

关于javascript - 禁用滚动但保留滚动条 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49381315/

相关文章:

javascript - 为什么不显示这个弹出窗口?

javascript - 为什么我不能使用纯 JavaScript 选择下一个 DIV 兄弟?

javascript - 在选择下拉菜单中隐藏文件扩展名 (html/css)

html - 如何使用 CSS 和 HTML 将文本添加到圆圈上?

html - 如何在父 flex 行 div 的末尾显示子 div,在父 div 的开头显示另外两个 div?

javascript - javascript嵌入式youtube视频

javascript - 触发 ('click' ) 多次激活

javascript - 查看此网络优化报告 - 我该如何解决?

javascript - 如何在 React.js 中映射到另一个 map 内

javascript - 如何在 javascript 和 HTML 中声明全局变量?