Скроллинг чата 
		
		
		
		Есть чат , сделал автоскролинг в низ. Но теперь если пытаюсь прокрутить сообщения в верх скроллинг уходит всеравно в низ, как с этим можно боротся?  
	
<script type="text/javascript">
window.onload = function(){
   var scrollinDiv = document.getElementById('responce');
   setInterval(function() {          
        scrollinDiv.scrollTop = 9999;
   }, 3000);
}
</script>
<div id="responce"></div>
 | 
	
		
 Напиши человеческим языком, что делает эта функция и найдешь причину. 
	 | 
	
		
 в чате есть сообщения, эта функция всевремя прокручивает окно чат в низ. Сообщения даже новые могут не приходить а окно чата постоянно внизу, если я вверх пытаюсь пролиснуть чат, оно меня обратно вниз скидывает 
	 | 
	
		
 http://javascript.ru/setInterval 
	Первое же предложение в описании  | 
	
		
 если вручную прокручиваешь до конца, то при добавлении сообщения будет идти автоскролл. если нет то нет) 
	
<!DOCTYPE HTML>
<html>
<head>
	<title>example</title>
	<style>
.msg {
  padding: 5px;
  margin: 5px;
  border: 1px solid silver;
}
	</style>
</head>
<body>
  <div style="width: 200px; height: 300px; border: 1px solid black; overflow-y: scroll;" onscroll="scroll(this);">
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
	<div class="msg">aguadg uydg uerygtuy eguygauyer gauery guae aueaer</div>
  </div>
  <script>
var auto = false
function scroll (ths) {
	auto = ths.scrollTop + ths.clientHeight == ths.scrollHeight;
}
var div = document.querySelector('div'), i = 0;
setInterval(function () {
	var newMsg = document.createElement('div');
	newMsg.innerHTML = 'aguadg uydg uerygtuy eguy ' + (++i);
	newMsg.setAttribute('class', 'msg');
	
	div.appendChild(newMsg);
	if (auto) {
		div.scrollTop = div.scrollHeight;
	}
}, 1000);
  </script>
</body>
</html>
 | 
	
		
 больше спасибо. Самый лучший способ я думаю. Только как бы сделать чтоб сразу скрол был снизу 
	 | 
	
		
 Цитата: 
	
 scrollinDiv.scrollTop = 9999;  | 
	
		
 а как к выше указаному коду прикрепить? а то я совсем тю-тю 
	 | 
	
		
 Зачем тут интервал вообще? Вы че, всей толпой с ума посходили? 
	Алгоритм самый адекватный какой? Перед появлением нового сообщения смотрим - если скролл находится в самом низу - добавляем сообщение и докручиваем скролл. Иначе просто добавляем сообщение, оставляя скролл как есть (можно какую-нибудь нотификацию сделать, как в скайпе типа). А вы хуетой страдаете. Обсуждаете костыль, да еще и "самым лучшим способом" его называете :))  | 
	
		
 еше есть варианты как сделать? желательно готовые 
	 | 
| Часовой пояс GMT +3, время: 11:08. |