我正在使用 Ajax 请求创建聊天,我试图让消息 div 滚动到底部,但运气不佳。
我将所有内容都包装在这个 div 中:
#scroll {
height:400px;
overflow:scroll;
}
有没有办法在默认情况下使用 JS 让它滚动到底部?
有没有办法在ajax请求后让它滚动到底部?
我正在使用 Ajax 请求创建聊天,我试图让消息 div 滚动到底部,但运气不佳。
我将所有内容都包装在这个 div 中:
#scroll {
height:400px;
overflow:scroll;
}
有没有办法在默认情况下使用 JS 让它滚动到底部?
有没有办法在ajax请求后让它滚动到底部?
这是我在我的网站上使用的内容:
var objDiv = document.getElementById("your_div");
objDiv.scrollTop = objDiv.scrollHeight;
如果您使用jQuery scrollTop ,这会容易得多:
$("#mydiv").scrollTop($("#mydiv")[0].scrollHeight);
你可以试试下面的代码:
function scrollToBottom (id) {
var div = document.getElementById(id);
div.scrollTop = div.scrollHeight - div.clientHeight;
}
要使用 JQuery执行平滑滚动:
function scrollSmoothToBottom (id) {
var div = document.getElementById(id);
$('#' + id).animate({
scrollTop: div.scrollHeight - div.clientHeight
}, 500);
}
见例子上的jsfiddle
这就是为什么这样做的原因:
使用jQuery 动画:
$('#DebugContainer').stop().animate({
scrollTop: $('#DebugContainer')[0].scrollHeight
}, 800);
适用于所有当前浏览器的较新方法:
this.scrollIntoView(false);