首页 > 解决方案 > 如果可滚动元素溢出,则 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');

标签: javascriptandroidhtmlcssfirefox

解决方案


推荐阅读