Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Автоматическая прокрутка дива вниз (https://javascript.ru/forum/misc/2809-avtomaticheskaya-prokrutka-diva-vniz.html)

progi2007 13.02.2009 10:59

Автоматическая прокрутка дива вниз
 
Подскажите как сделать, что бы прокрутка в диве автоматически опускалась вниз, желательно варианты решения на jquery.
Заранее всем спасибо.

Kolyaj 13.02.2009 11:21

divElement.scrollTop = 9999;

progi2007 13.02.2009 12:13

Цитата:

Сообщение от Kolyaj (Сообщение 12583)
divElement.scrollTop = 9999;

Спасибо помогло.

Spyke 07.03.2009 13:58

Подскажите куда это вставить? Желательно простенький примерчик. Заранее спасибо.

Zibba 07.03.2009 14:19

Вешаете обработчик (на onclick/onload/еще какое нибудь событие), далее получаете элемент при помощи getElementById(element) и свойству scrollTop этого элемента присваиваете значение.

Spyke 07.03.2009 14:56

<div id="messages" style="height: 400px; overflow: auto;" onload="this.scrollTop = 9999;"></div>

я правильно понял?.. все равно что-то не получается =(

Zibba 07.03.2009 14:59

Ну еще бы получилось с 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>

Spyke 07.03.2009 15:13

при onclick получается... но как сделать автоматически без участия пользователя? просто у меня чат и нужно чтобы при появлении нового сообщения автоматом вниз пролистывалось... onresize тоже не работает... =(

P.S. а что ты там говоришь про window.onload? Если можно пиши сразу мой исправленный вариант. Заранее спасибо!

Zibba 07.03.2009 15:16

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

Андрей Параничев 07.03.2009 20:45

Чтоб автоматически и нет возможности вписать код в функцию, которая добавляет сообщение, то можно и интервал сделать:
window.onload = function(){
   var scrollinDiv = document.getElementById('scroll');
   setInterval(function() {          
        scrollinDiv.scrollTop = 9999;
   }, 100);
}


Часовой пояс GMT +3, время: 01:24.