gpt4 book ai didi

javascript - 更改 scroll-snap-type 或 scroll-snap-align 时 Safari 浏览器失去滚动位置

转载 作者:行者123 更新时间:2023-12-04 03:42:54 30 4
gpt4 key购买 nike

无论我更改 scroll-snap-type 还是 scroll-snap-align,Safari 都会丢失滚动位置并从第一个 scroll-snap 元素开始。这个问题可以在这里的滚动示例中轻松重现:https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type .只需切换到 scroll-snap-type: 强制,滚动到第二个或第三个元素。然后切换到 scroll-snap-type: none 并再次返回到 scroll-snap-type: 强制。在所有浏览器中滚动位置保持不变,在 Safari 中它又从 0 开始。
为什么我需要这个?我正在使用改变 scrollTop 位置的滚动动画。在 Safari 中使用滚动捕捉时,动画不起作用,例如当单击导航链接滚动到另一个部分时。所以我的想法是在使用导航链接时关闭滚动捕捉,并在完成后再次打开它。在所有浏览器中都可以正常工作,导致 Safari 中出现描述的问题。我也尝试更改滚动对齐对齐,但它是一样的。
有人遇到过同样的问题吗?您找到解决方法/解决方案了吗?

最佳答案

同样的问题 - 请问您是否找到了解决方案?我的做法是简单地禁用 Safari 的滚动捕捉,从而减少用户舒适度的影响......用更少的代码编写:

scroll-snap-type: y mandatory; // vertical scroll-snap
@media not all and (min-resolution:.001dpcm) { // detect Safari
scroll-snap-type: unset;
}

关于javascript - 更改 scroll-snap-type 或 scroll-snap-align 时 Safari 浏览器失去滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65653679/

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