У меня есть динамическая страница, где нажатие на ссылку запускает некоторый javascript, который устанавливает для некоторых элементов страницы значение display:none
и, таким образом, изменяет высоту страницы. Типичное поведение браузера для этого заключается в том, что позиция прокрутки сверху страницы сохраняется. Вместо этого я хочу сохранить позицию прокрутки снизу, потому что ссылка находится в нижней части страницы, и я хотел бы, чтобы курсор пользователя оставался над ссылкой после щелчка.
Код, который я должен сделать, это:
var scrollBottom=getDocHeight()-getScrollTop();
//do stuff to change height
window.scrollTo(0,getDocHeight()-scrollBottom);
(используя функции кросс-браузера, которые я нашел для получения высоты документа и положения прокрутки).
Это прекрасно работает в Chrome и Internet Explorer, но в Firefox существует небольшая задержка между изменением высоты страницы и положения прокрутки. В результате возникает мерцание, когда страница быстро перестраивается, что меня очень беспокоит.
Может ли кто-нибудь предложить исправление или более естественный способ запоминания положения прокрутки внизу страницы, а не сверху?
Спасибо.