Javascript 向下滚动动画js
我在JS中建立了一种聊天,然后我希望当我收到新消息时,聊天会自动向下滚动(带有动画…)。一切都运行得很好,但在动画停止后,用户无法自己滚动;聊天自动滚动到最后 这就是代码:Javascript 向下滚动动画js,javascript,Javascript,我在JS中建立了一种聊天,然后我希望当我收到新消息时,聊天会自动向下滚动(带有动画…)。一切都运行得很好,但在动画停止后,用户无法自己滚动;聊天自动滚动到最后 这就是代码: <!-- language:lang-js --> var height = 1; window.setInterval(function() { var elem = document.getElementById('chat'); elem.scrollTop = height; i
<!-- 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);
var高度=1;
setInterval(函数(){
var elem=document.getElementById('chat');
elem.scrollTop=高度;
如果(元素高度<高度){
clearInterval(本);
}
高度+=2;
}, 50);
函数需要一个数字。使用它应该可以使它正常工作。您还存在许多语法错误
var intervalReference = window.setInterval(function() {
var elem = document.getElementById('chat');
elem.scrollTop = height;
if (elem.scrollHeight < height) {
clearInterval(intervalReference);
}
height += 2;
}, 50);
var intervalReference=window.setInterval(函数(){
var elem=document.getElementById('chat');
elem.scrollTop=高度;
如果(元素高度<高度){
clearInterval(间隔参考);
}
高度+=2;
}, 50);
您应该创建一个var来保持间隔,如下所示:
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;
}
var高度=1;
var interval=window.setInterval(动画,50);
函数animate(){
var elem=document.getElementById('chat');
elem.scrollTop=高度;
如果(元素高度<高度){
间隔时间;
}
高度+=2;
}
这应该可以正常工作setInterval(animate(),50)-->setInterval(animate,50)。我以前从未使用过这个网站,所以它不起作用(我试图修复它…@asafg8您仍然有
scrollHeight
错误,请注意大写字母H
,在这里它起作用了,尽管,可能是您想要的。