gpt4 book ai didi

javascript - 如何防止在 iOS Safari 上过度滚动?

转载 作者:行者123 更新时间:2023-11-28 19:24:17 24 4
gpt4 key购买 nike

在网页上,我有一个叠加层 div,它将通过单击特定按钮或图像来显示。为了避免在后台滚动,我在显示叠加层时使用 overflow: hidden 向主体添加了一个 CSS 类。

在桌面浏览器上,这按预期工作,但在 iOS Safari(在我的例子中是 iOS 12.x)上,页面仍然在后台滚动。

有人知道解决办法吗?

$('.item-overlay, .item-overlay .morelink').on('click', function(e) {
overlay_id = $(this).parent().parent().attr('id') + '-popup';
page_link = $(this).attr('data-typolink');

$('#' + overlay_id).css('display', 'flex').hide().fadeIn(300);
$('#' + overlay_id).scrollTop(0);

$('body').addClass('NoScrolling'); // Scrollen im Hintergrund vermeiden (durch Hinzufügen einer entspr. CSS-Klasse)
$('body').on('touchmove', function(e) { // doesn't work
e.preventDefault();
});
});
body.NoScrolling {
overflow: hidden;
}

最佳答案

除了 overflow 之外,还要添加这些属性以防止正文滚动

body.NoScrolling {
overflow: hidden;
position: fixed;
height: 100vh;
}

关于javascript - 如何防止在 iOS Safari 上过度滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56646630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com