pc端遮罩背景禁止滑动
时间: 2023-07-08 07:26:44 浏览: 61
如果您想要在 PC 端禁止遮罩背景的滑动,可以通过监听鼠标滚轮事件来实现。具体来说,您可以在打开遮罩层时,给 `body` 标签添加一个 `overflow: hidden` 的样式,禁止整个页面滚动。然后,通过监听遮罩层的 `mousewheel` 事件(或者是 `DOMMouseScroll` 事件,以兼容 Firefox 浏览器),在事件回调函数中阻止事件冒泡,避免滚轮事件被传递到下层元素。最后,在关闭遮罩层时,将 `body` 标签的 `overflow` 样式恢复为原来的值,即可恢复页面的滚动。
以下是基于 jQuery 实现的示例代码:
```html
<!-- HTML 结构 -->
<div class="modal">
<!-- 遮罩层内容 -->
</div>
```
```javascript
// JavaScript 代码
$(function () {
var $modal = $('.modal');
var $body = $('body');
var scrollTop = 0;
// 打开遮罩层时,禁止页面滚动
$body.css('overflow', 'hidden');
scrollTop = $body.scrollTop();
// 监听遮罩层的滚轮事件,阻止事件冒泡
$modal.on('mousewheel DOMMouseScroll', function (e) {
e.stopPropagation();
});
// 关闭遮罩层时,恢复页面滚动
$modal.on('click', function () {
$body.css('overflow', '');
$body.scrollTop(scrollTop);
});
});
```
希望这个解决方案对您有帮助。