2012-11-22 4 views
0

JS에서 일종의 채팅을 작성한 다음 새 메시지를 받으면 채팅이 자동으로 아래로 스크롤됩니다 (애니메이션 ...). 모든 것이 아름답게 작동했지만 애니메이션이 멈 추면 사용자가 혼자서 스크롤 할 수 없었습니다. 대화가 자동으로 끝까지 스크롤됩니다.아래로 스크롤 애니메이션 js

<!-- language:lang-js --> 

var height = 1; 
window.setInterval(function() { 
    var elem = document.getElementById('chat'); 
    elem.scrollTop = height; 
    if (elem.scrollheight < height) { 
     clearInterval(this); 
    } 
    height += 2; 
}, 50); 

답변

1

clearInterval 함수는 숫자를 예상 :

그래서이 코드입니다. 그것을 사용하면 올바르게 작동합니다. 또한 많은 구문 오류가 있습니다.

var intervalReference = window.setInterval(function() { 
    var elem = document.getElementById('chat'); 
    elem.scrollTop = height; 
    if (elem.scrollHeight < height) { 
     clearInterval(intervalReference); 
    } 
    height += 2; 
}, 50); 
+0

는 여전히 나던 작품은 내가 여기에 전체 코드를 지참 잘 작동합니다

var height = 1; var interval = window.setInterval(animate, 50); function animate() { var elem = document.getElementById('chat'); elem.scrollTop = height; if (elem.scrollHeight < height) { clearInterval(interval); } height += 2; } 

를? – asafg8

+1

@ asafg8 더 나은 점은 문제를 보여주는 [jsfiddle] (http://jsfiddle.net/)을 만드십시오. – Andrew

+0

http://jsfiddle.net/yg5zQ/2/ 이전에이 웹 사이트에서 일한 적은 없었습니다. (고치려고했습니다 ...) – asafg8

0

이 같은 간격 들고 VAR해야한다 :이

+0

setInterval (animate(), 50) -> setInterval (애니메이션, 50). –

+0

죄송합니다. 내 잘못을 ^^ – Ace

+0

당신을 환영합니다 ^^ – Ace

관련 문제