2012-01-05 5 views
2

새 메시지를 받으면 div의 맨 아래로 자동 스크롤되는 채팅 응용 프로그램이 있습니다. 로그를 읽으려면 위로 스크롤하지 않으면 정상적으로 작동합니다. 새 메시지가 수신되면 맨 아래로 다시 이동합니다. 스크롤 위치가 이미 바닥에 있고 그것을 수행하는 방법을 모르는 경우에만 스크롤해야합니다./제안div의 하단에있을 때만 Jquery div 자동 스크롤

var scroll = $("div#log").prop("scrollHeight") - $('div#log').height() 
$("div#log").scrollTop(scroll) 

어떤 도움도 환영과 감사 :) 당신은 $ (문서) .scrollTop()와 window.innerHeight와 함께 할 수

+0

주십시오 당신의 HTML 또는 jsfiddle – Dom

답변

0

될 것이다. 당신은 스크롤 하단에 있는지 여부를 확인하기 위해 스크롤 이벤트에 대한 핸들러를 가져야 http://jsfiddle.net/sxR9j/

+0

을 창 스크롤하지만 div 오버플로의 스크롤 막대가 자동 –

+0

@PastorBones 인 경우 scrollHeight 및 scrollTop을 사용할 수 있습니다. http://jsfiddle.net/vZetU/을 참조하십시오. – Sang

+0

작동하도록 할 수 없습니다. http://jsfiddle.net/NgdNz/1/ –

0

:

function appendMessage(message) { 
    if($(document).scrollTop() + window.innerHeight == $('body').height()) 
     /* append message and scroll */ 
    else 
     /* append message without scroll */ 
}); 

내 바이올린을 참조하십시오.

$("#mydiv").on('scroll', function() { 
    ... 
} 
당신은 당신이 scrollHeight 속성에서 scrollTop와 clientHeight 속성을 빼서 스크롤 하단에 있는지 여부, 내 바이올린을 참조하십시오 확인할 수 있습니다

: 그것은 아니에요 http://jsfiddle.net/XS3kf/1/