Заблокировать полосу прокрутки в нижней части страницы с помощью jQuery?

Я пишу приложение журнала "tail -f", используя jQuery на стороне клиента. В настоящее время приложение работает, отправляя запросы AJAX к серверу каждые 2 секунды и добавляя новое содержимое журнала к уже существующему тегу <PRE> на странице (вдохновленный этим постом). Это все прекрасно работает.

Моя проблема в том, что новый контент добавляется на страницу, но не отображается сразу. То есть все новые сообщения журнала просто перемещают полосу прокрутки выше.

Я хотел бы, чтобы полоса прокрутки была «заблокирована» в нижней части страницы, чтобы вы могли смотреть, как весь контент появляется в режиме реального времени. Первоначально я рассматривал возможность использования jScrollPane для «блокировки» полосы прокрутки внизу, но теперь я думаю, что может быть более простой способ сосредоточить внимание на нижней части страницы...


person mike4263    schedule 18.03.2011    source источник


Ответы (1)


Вам нужно сделать scrollTop = scrollTHeight

var divx = document.getElementById("whatever");
divx.scrollTop = divx.scrollHeight;

Проверьте рабочий пример на http://jsfiddle.net/sJshE/3/.

person Hussein    schedule 18.03.2011
comment
Превосходно. Как только я перестал напрямую манипулировать полосой прокрутки, я довольно быстро нашел ответ на этот вопрос. Тем не менее, мне нравится функциональный пример. - person mike4263; 18.03.2011
comment
Концепция проста. Лучше всего это объяснить на рабочем примере :-). - person Hussein; 18.03.2011