javascript - 如何在移动设备中显示模态框时停止背景滚动,仅使用 CSS 或 Javascript?

标签 javascript jquery html css

我在一个响应式网站上工作,当用户在移动设备上时,他/她会看到一个模式框。为了实现这一点,我没有使用 Bootstrap,只是使用普通的 CSS 和一些 Javascript。现在,问题是我无法弄清楚如何停止背景,或者更确切地说是主体,在模式框处于 View 中时滚动。我尝试使用 JS 将 overflow-yscroll 操作到 hidden 但是,它不起作用或者可能不是正确的方法,我刚刚试过了。无论如何,我在 Stackoverflow 中查看了一些答案,他们正在使用 bootstrap 3。我想要一个不使用 bootstrap 3 的解决方案,只使用纯 CSS 或 Javascript,如果可能的话,我将非常感激。感谢您的回复。

PS:请注意,我并不是在避免 Bootstrap ,我只是想知道是否有使用简单 CSS 和 JS 的可能解决方案。

最佳答案

  • 为此你必须申请 cssbody标记动态

JSFIDDLE here

在打开对话框时添加如下代码停止后台滚动

$("body").css("overflow", "hidden");

关闭弹出窗口时添加它 - 再次启用滚动

$("body").css("overflow", "auto");
  • 尝试在您的 html 中添加以下引用<head>标签。

<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

工作演示 - Click Here

关于javascript - 如何在移动设备中显示模态框时停止背景滚动,仅使用 CSS 或 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28381836/

相关文章:

javascript - vue-cli-service serve 的依赖问题

javascript - 我想在单击按钮时使用 JavaScript 插入文本。但 `` `.value( )`` ` 似乎不起作用

javascript - AJAX 还是 socket.io?

html - 如何风格化二级下拉菜单列表

javascript - Coffeescript jQuery 设置数据()

javascript - 如何在 jQuery 中以相同的速度为每个元素设置动画?

javascript - 如何通过使用 EF 单击从右侧到左侧更改数据

javascript 文件未加载并且 stringByEvaluatingJavaScriptFromString 也未执行?

javascript - 检测用户对使用 Jquery ".html()"创建的 <select> 列表的更改

javascript - jquery href 和 onclick 分离