我一直在论坛上寻找解决这个问题的方法,我能找到的最接近的方法是this。
我有一个CSS网格grid-template-columns: repeat(auto-fill,minmax(70px,1fr));
,它的父元素有一个max-height: 350px; overflow-y: auto;
。当我“选择”网格中的项目时,一切都很好,直到我向下滚动足够远并选择一个项目,然后向下滚动整个页面。检查元素,网格中的项目似乎继续滚动到页面的顶部(当然是隐藏的),但是一旦这些项目到达页面的顶部,它就会自动滚动整个页面。
我试图在这里做一个工作演示,但它不复制,不知道这是因为它在一个Iframe或没有?这里是一个链接到我正在做的:https://fathomless-brook-11892.herokuapp.com/product/64e6566b3ec4190ccdecb5ba
如果你检查它,在CSS中找到“*”,取消选中max-height: -webkit-fill-available;
,然后开始向下滚动并选择一个不同的面料。你会注意到页面突然向下滚动。有了这个,似乎是我能让它按预期工作的唯一方法。但我相信这是错误的方法吗?
任何帮助都非常感谢!
1条答案
按热度按时间5fjcxozz1#
我复制了您的问题,但无法找出问题所在。据我所知,您的脚本可能有一部分试图手动向下滚动到该位置。
onclick
或onchange
调用了哪些函数,以查看滚动位置是否发生了变化element.scrollIntoView({ behavior: "instant"})
)来滚动回视图。或者你可以在单击操作之前保存scrollY(像var scrollTop = window.scrollY;
),然后在scrollTo()(像window.scrollTo(0, scrollTop);
)中使用它来返回到那个准确的位置。不管怎样,我觉得这都不像是css或浏览器错误,可能是JavaScript代码造成的。