我需要一个适用于各种浏览器的滚动到页面上的元素的解决方案。这段代码在Chrome上运行得非常完美,但是在Safari和移动端的Safari上却无法正常工作。它只会将页面滚动到顶部,而不是指定的div
ID所在位置:
$(".link").click(function() {
$("html,body").animate({ scrollTop: $("#div_id").offset().top - 260 }, 1000);
});
我需要一个适用于各种浏览器的滚动到页面上的元素的解决方案。这段代码在Chrome上运行得非常完美,但是在Safari和移动端的Safari上却无法正常工作。它只会将页面滚动到顶部,而不是指定的div
ID所在位置:
$(".link").click(function() {
$("html,body").animate({ scrollTop: $("#div_id").offset().top - 260 }, 1000);
});
body{
overflow-x:hidden;
}
如果您隐藏了溢出的CSS,可以将其删除,否则Safari将无法准确计算scrollTop
(但这仅影响Safari)。
如果您隐藏了溢出的CSS,您可以将其删除,或者建议的解决方法(也在帖子中)是使用:
const scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop)