Javascript 加载ajax数据后滚动到div底部不起作用

Javascript 加载ajax数据后滚动到div底部不起作用,javascript,html,jquery,css,ajax,Javascript,Html,Jquery,Css,Ajax,我有一个带滚动条的div。当你开始时,div从底部开始。但是,当我在post请求之后加载新的ajax数据时,它不再滚动到底部。我相信在添加ajax数据之前,它将进入“上一个”底部。你们能帮忙吗 短信 //此工作页面以div滚动到底部开始 $(文档).ready(函数(){ var objDiv=document.getElementById(“消息”); objDiv.scrollTop=objDiv.scrollHeight; }) //ajax post请求可以工作,但success方法

我有一个带滚动条的div。当你开始时,div从底部开始。但是,当我在post请求之后加载新的ajax数据时,它不再滚动到底部。我相信在添加ajax数据之前,它将进入“上一个”底部。你们能帮忙吗


短信
//此工作页面以div滚动到底部开始
$(文档).ready(函数(){
var objDiv=document.getElementById(“消息”);
objDiv.scrollTop=objDiv.scrollHeight;
})
//ajax post请求可以工作,但success方法中的向下滚动不起作用
//它正在滚动到最后一条消息,而不是最后一条消息。我如何修复此问题?
var url_link=window.location.href;
$.ajax({
数据:{
“文本”:“文本”
},
类型:“POST”,
url:url\u链接,
成功:函数(){
$(“#消息框”).load(url#link+“#消息框”);
var objDiv=document.getElementById(“消息”);
objDiv.scrollTop=objDiv.scrollHeight;
},
错误:函数(e){
console.log(“错误请求:+e”);
}
#消息{
溢出y:滚动;
宽度:100px;
高度:250px;
}

总而言之,问题是消息div在ajax post方法之后没有滚动到div的底部。高度将是最后一条消息,而不是最后一条消息,因此我需要向下滚动以查看新消息。如何解决此问题?感谢从HTML的结构来看,
加载()
调用将内容放入
#消息框
,这会影响
#消息
的高度。因此,您需要更新
加载()
调用中的
滚动顶
,而不是
$.ajax()
调用中的内容。尝试以下操作:

让scrollToBottom=$container=>$container.prop('scrollTop',$container.prop('scrollHeight');
jQuery($=>{
让$messages=$(“#messages”);
scrollToBottom($messages);//在页面加载时向下滚动
让url_link=window.location.href;
$.ajax({
数据:{text:'text'},
类型:“POST”,
url:url\u链接,
成功:函数(){
$(“#消息#框”).load(url#link+“#消息#框”,()=>scrollToBottom($messages));
},
错误:函数(e){
console.log(“错误请求:+e”);
}
});
})

请注意,我对逻辑做了一些小的修改,以避免重复,并确保代码在加载DOM后运行。

谢谢这项功能:)。您能解释一下()=>scrollToBottom($messages));成功函数代码的一部分更乐意提供帮助。这是一个。它大致相当于
function(){scrollToBottom()($messages);}
,还有一些与本例无关的细微差别。再次感谢:)