Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как опустить скролл вниз страницы (https://javascript.ru/forum/misc/47681-kak-opustit-skroll-vniz-stranicy.html)

FanAizu 03.06.2014 15:07

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

$(document).ready
(
    function()
    {
        $('body, html').scrollTop($(document).height());
    }
);


Он работает везде, но в хроме и сафари следующая ситуация:
пользователь открывает страницу, она опускается в самый низ моим кодом, все гуд. Затем пользователь скроллить, например, на 500px вверх и жмет f5, страница перезагружается, опускается моим кодом в самый низ, а затем самое неприятное - браузер поднимает страницу на 500px, на которые проскроллил пользователь до перезагрузки страницы! Как с этим бороться?

Octane 03.06.2014 18:18

Не уверен, но вроде бы когда браузер восстанавливает предыдущее положении скрола, не возникает события scroll, поэтому при загрузке страницы можно по таймеру следить за scrollTop, если он изменится без события, то можно будет прокрутить страницу вниз.

FanAizu 03.06.2014 18:46

Цитата:

Сообщение от Octane (Сообщение 314636)
Не уверен, но вроде бы когда браузер восстанавливает предыдущее положении скрола, не возникает события scroll, поэтому при загрузке страницы можно по таймеру следить за scrollTop, если он изменится без события, то можно будет прокрутить страницу вниз.

оно возникает, проверенно. только браузер потом возвращает в место скролла, которое было до перезагрузки страницы

raserad 19.01.2017 12:21

Все намного банальнее. Просто установи вызов функции прокрутки вниз через setTimeout. Задай таймаут примерно в 100 миллисекунд и вуаля! Никаких проблем)))


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