Автоматическая прокрутка дива вниз
Подскажите как сделать, что бы прокрутка в диве автоматически опускалась вниз, желательно варианты решения на jquery.
Заранее всем спасибо. |
divElement.scrollTop = 9999; |
Цитата:
|
Подскажите куда это вставить? Желательно простенький примерчик. Заранее спасибо.
|
Вешаете обработчик (на onclick/onload/еще какое нибудь событие), далее получаете элемент при помощи getElementById(element) и свойству scrollTop этого элемента присваиваете значение.
|
<div id="messages" style="height: 400px; overflow: auto;" onload="this.scrollTop = 9999;"></div>
я правильно понял?.. все равно что-то не получается =( |
Ну еще бы получилось с overflow: auto, вопрос был про scroll следовательно и overflow: scroll;
Вот пример: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Scroll</title> <style type="text/css"> #scroll{ height:100px; overflow:scroll; background-color:#ddd; } </style> <script type="text/javascript"> window.onload = function(){ document.getElementById('scroll').scrollTop = 9999; } </script> </head> <body> <div id="scroll"> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>Конец </div> </body> </html> |
при onclick получается... но как сделать автоматически без участия пользователя? просто у меня чат и нужно чтобы при появлении нового сообщения автоматом вниз пролистывалось... onresize тоже не работает... =(
P.S. а что ты там говоришь про window.onload? Если можно пиши сразу мой исправленный вариант. Заранее спасибо! |
Ну если при появлении нового сообщения, то если при его появлении полностью перезагружается страница (см. пример выше), если сообщения поступают асинхронно, то вешать на функцию срабатывающую по событию прихода сообщения и все.
|
Чтоб автоматически и нет возможности вписать код в функцию, которая добавляет сообщение, то можно и интервал сделать:
window.onload = function(){ var scrollinDiv = document.getElementById('scroll'); setInterval(function() { scrollinDiv.scrollTop = 9999; }, 100); } |
Часовой пояс GMT +3, время: 01:24. |