darkmerge
@darkmerge
Front-End Dev

Как при перезагрузке страницы всегда отображать ее с верху ( scrollTop(0) )?

варианты:
document.body.scrollTop = 0;
$('body').scrollTop(0);
$(window).scrollTop(0);
не предлагать. швыряет страницу вверх на секунду, потом возвращается к тому же месту с которого обновили страницу.
скрипт расположен под всеми скриптами внизу страницы в .ready(). Есть варианты решения?
  • Вопрос задан
  • 9714 просмотров
Решения вопроса 1
orlov0562
@orlov0562
I'm cool!
попробуй так:
$(document).ready(function(){
    setTimeout(function(){
        window.scrollTo(0, 0);
    }, 1);
});


или так

$(document).ready(function(){
document.location.href='#';
});


Вообще, надо разобраться кто швыряет страницу вверх, есть предположение, что это делает сам браузер. Если это так, тогда только искать костыли.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Во первых зачем? Вы нарушаете этим нативное поведение браузера, к которому все привыкли.
Во вторых, кода приведенный выше правильный, только так и можно сделать. Единственное упущение, этот код нужно обернуть в
$(document.body).on('load', function () {
    // тут
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы