Мне нужно кросс-браузерное решение для прокрутки к элементу на странице. Этот код отлично работает в Chrome, но не в Safari или Safari на мобильных устройствах. Он прокручивается до верхней части страницы, а не до идентификатора div:
$(".link").click(function() {
$("html,body").animate({ scrollTop: $("#div_id").offset().top - 260 }, 1000);
});

Согласно Эта проблема, записанному на github (сейчас закрыто), если у вас есть следующий код в вашем css:
body{
overflow-x:hidden;
}
, то это помешает Safari точно вычислить scrollTop (но это влияет только на Safari).
Если у вас есть скрытый переполнение css, вы можете удалить его или предлагаемый обходной путь (также в публикации):
const scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop)
надеюсь это поможет