【问题标题】:How to disable scrolling on mobile browsers?如何禁用移动浏览器上的滚动?
【发布时间】:2017-06-02 23:10:30
【问题描述】:

我正在尝试在用户打开弹出窗口时禁用网页上的滚动(但他可以滚动)。

popup 元素具有以下属性:

#popup {
    display: none;
    width: 100%;
    height: 100%;
    z-index: 10;
    position: fixed;
    background-color: #3F3F3F;
    overflow: auto;
    left: 0;
    top: 0;
}

当用户打开弹窗时,会调用以下代码:

$('#popup').show();
$('html').attr('style', 'overflow: hidden;');
$('body').attr('style', 'overflow: hidden; position: relative;');

这个解决方案在桌面浏览器上完美运行,但不幸的是在移动设备上不行。

在移动设备上,总是可以滚动(但滚动速度很慢)。

如何在移动浏览器上同时禁用滚动?

提前致谢。

【问题讨论】:

    标签: javascript jquery html css mobile


    【解决方案1】:

    将正文 position 更改为 fixed。这将禁用滚动。

    【讨论】:

    • 谢谢,但我不能,我想保持身体滚动并固定位置重置它。
    • 但是仅在弹出窗口打开时尝试该状态?或者只是 Body 和 Popup 之间的覆盖,这将是固定的,所以“滚动”几乎什么都不做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多