Как установить расположение полосы прокрутки по умолчанию - PullRequest
1 голос
/ 31 декабря 2010

на моей веб-странице есть окно чата.Когда журнал чата заполнен, пользователь использует полосу прокрутки для навигации между сообщениями.Я хочу, чтобы в моем окне чата всегда отображалось последнее сообщение, которое находится внизу.Как я могу сделать это, используя CSS, JavaScript?

Спасибо, Томер

Ответы [ 3 ]

1 голос
/ 31 декабря 2010

Даже если вы не отметили свой вопрос, вот решение jQuery, которое я использую для своего веб-приложения чата:

//Where chat_message_tray is the scrollable div in your chat
function chat_scroll(chat_messages_tray){
   var scroll_amount = $(chat_messages_tray).attr("scrollHeight") -  $(chat_messages_tray).height();

   $(chat_messages_tray).animate({ scrollTop: scroll_amount}, 500);
}
1 голос
/ 31 декабря 2010

http://radio.javaranch.com/pascarello/2005/12/14/1134573598403.html

3-й результат от Google - 'div scrollbar bottom'

1 голос
/ 31 декабря 2010
Элементы

DOM (во всяком случае, хорошие) поддерживают метод с именем scrollIntoView().Если у вас есть ссылка на элемент DOM, соответствующий последней записи в чате (<div> или что-то еще), вы можете использовать scrollIntoView(), чтобы сообщить браузеру, что его окружающее содержимое должно быть прокручено, чтобы сделать <div> видимым.

Теперь, с некоторыми сложными (или не очень сложными, может быть, возможно, просто неудачными) макетами страниц, мне пришлось бороться с Internet Explorer, желающим прокрутить не ту вещь или просто сделать что-то странное, чтобыстраница.Природа такой вещи, как scrollIntoView(), такова, что вы позволяете браузеру точно решить, как он хочет выполнить эту прокрутку.Как правило, с довольно простым содержимым в простом контейнере с прокруткой (в основном с «overflow: auto» и фиксированной высотой) это работает, однако.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...