javascript - 如果可滚动元素溢出,则 scrollIntoView 在 Firefox Android 中不起作用:隐藏
问题描述
我正在为 body 设置 overflow-y: hidden,因为我想以编程方式处理滚动并防止用户滚动。然后我使用 element.scrollIntoView() 滚动到特定元素。
我已经在 Chrome、Firefox、Safari、Android 版 Chrome、Safari iOS 中尝试过,它工作正常,页面滚动到元素。
但在 Firefox Android 上,它不会滚动,也不会做任何事情。
我找不到任何明确说明 Firefox 不支持滚动到溢出:隐藏容器中的元素的文档。
这是代码:
.screen {
max-width: 600px;
min-height: 100vh;
display: flex;
flex-direction: column;
border-bottom: 1px solid #ddd;
justify-content: space-evenly;
margin: auto;
padding: 16px;
}
body {
overflow-y: hidden;
}
const elem = document.getElementById(`screen-${itemId}`);
if(elem) elem.scrollIntoView({ behavior: smooth ? 'smooth' : 'auto' });
else console.warn('not found');
解决方案
推荐阅读
- url - 为什么堆栈溢出不会在其 URL 中将 c++ 编码为 c%2b%2b?
- package-managers - 我需要一个凉亭替代品
- flutter - Flutter:如何在 2 个容器中间放置一个按钮?
- python - 根据值匹配熊猫中的行是不同的列
- flask - 如何使用 Flask 发送带有表单数据的 JSON 数据
- r - 使用库 (tweenr) 用 xy 数据框加注补间圆
- javascript - Javascript按姓氏对字符串数组进行排序
- mysql - SQL 按天划分多条记录
- azure - 为什么我们说 azure 函数是无服务器计算服务
- java - 在 Activiti 中可视化流程实例历史