JQuery ScrollTop to Element ID не работает в Safari

Мне нужно кросс-браузерное решение для прокрутки к элементу на странице. Этот код отлично работает в Chrome, но не в Safari или Safari на мобильных устройствах. Он прокручивается до верхней части страницы, а не до идентификатора div:

$(".link").click(function() {
    $("html,body").animate({ scrollTop: $("#div_id").offset().top - 260 }, 1000);
});
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
3
0
479
1

Ответы 1

Согласно Эта проблема, записанному на github (сейчас закрыто), если у вас есть следующий код в вашем css:

body{
overflow-x:hidden;
}

, то это помешает Safari точно вычислить scrollTop (но это влияет только на Safari).

Если у вас есть скрытый переполнение css, вы можете удалить его или предлагаемый обходной путь (также в публикации):

const scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop)

надеюсь это поможет

Другие вопросы по теме