scrollTo () мерцание - PullRequest
       18

scrollTo () мерцание

2 голосов
/ 25 ноября 2010

У меня есть динамическая страница, где нажатие на ссылку запускает некоторый javascript, который устанавливает для некоторых элементов страницы значение display:none и, таким образом, изменяет высоту страницы. Типичное поведение браузера для этого заключается в том, что позиция прокрутки сверху страницы сохраняется. Вместо этого я хочу сохранить позицию прокрутки снизу, потому что ссылка находится в нижней части страницы, и я хотел бы, чтобы курсор пользователя оставался над ссылкой после щелчка.

Код, который я должен сделать, это:

var scrollBottom=getDocHeight()-getScrollTop();
//do stuff to change height
window.scrollTo(0,getDocHeight()-scrollBottom);

(используя функции кросс-браузера, которые я нашел для получения высоты документа и положения прокрутки).

Это прекрасно работает в Chrome и Internet Explorer, но в Firefox существует небольшая задержка между изменением высоты страницы и положения прокрутки. В результате возникает мерцание, когда страница быстро перестраивается, что меня очень беспокоит.

Может ли кто-нибудь предложить исправление или более естественный способ запоминания положения прокрутки внизу страницы, а не сверху?

Спасибо.

...