Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Некорректно работает плавная прокрутка в самое начало страницы при нажатии на кнопку (https://javascript.ru/forum/misc/84827-nekorrektno-rabotaet-plavnaya-prokrutka-v-samoe-nachalo-stranicy-pri-nazhatii-na-knopku.html)

Terofil 07.01.2023 19:23

Некорректно работает плавная прокрутка в самое начало страницы при нажатии на кнопку
 
У меня на странице есть кнопка, при нажатии на которую скролл должен плавно подниматься в начало страницы. В браузерах на базе хромиум почему-то иногда прокрутка к началу страницы при нажатии на кнопку не совершается. Вверх немного поднимается и останавливается. При чем пробовал в Firefox, там всё нормально работает. Также пробовал вообще через якорные ссылки реализовать, всё равно, такая же проблема.
/*Стили кнопки*/
<style>
html, body {
scroll-behavior: smooth;
}
.btnUp {
    position: fixed;
    width: 72px;
    height: 72px;
    border-radius: 55px;
    text-align: center;
    line-height: 82.5px;
    font-size: 52px;
    transform: rotate(-90deg);
    background: #F2812F;
    box-shadow: 0 0 25px rgba(0,0,0,0.6);
    right: 0;
    bottom: 0;
    margin-bottom: 30px;
    margin-right: 30px;
    z-index: 15;
    cursor: pointer;
    user-select: none;
}
</style>
/*Кнопка*/
<div class="btnUp" onclick="scrollUp();">➜</div>

//функция поднятия скролла к началу страницы
function scrollUp () {
    window.scrollTo(0, 0);
}

Как решить описанную мной проблему?
Желательно на чистом js.

Alexandroppolus 07.01.2023 20:38

window.scrollTo({
  top: 0,
  left: 0,
  behavior: 'smooth'
});


https://developer.mozilla.org/en-US/...indow/scrollTo

Terofil 07.01.2023 22:05

Проблема осталась. В браузерах на базе хром иногда кнопка не работает (скролл перестает двигаться до того, как достиг начала страницы).

voraa 07.01.2023 22:26

Значит это проблема хрома, раз возникает иногда. Надо ждать, когда исправят.
Ради интереса проверил на одной своей страничке - всегда все срабатывало до конца.


Часовой пояс GMT +3, время: 07:20.