我在这里看到如何滚动到div的底部... 但不知何故,它对我不起作用......与自动对焦相同。
猜测问题是我做了一个AJAX调用,但它不起作用。
我的AJAX电话:
function toonBericht(vuserid) {
$("#verstuurbericht").show();
$("#chatresultaatcontent").val("");
$.ajax({
type: "GET",
data: { userid:vuserid },
url: './query/berichten/getbericht.php',
success: function(result) {
$("#chatresultaatcontent").html(result);
var objDiv = document.getElementById("chatresultaatcontent");
objDiv.scrollTop = objDiv.scrollHeight;
}
});
}
然后当然我有一个名为#chatresultaatcontent的div。 它包含来回发送的聊天消息。
作为替代方案,我也尝试使用以下代码在成功后加载一个函数(即scrollBottom()):
$("#chatresultaatcontent").scrollTop($("#chatresultaatcontent")[0].scrollHeight);
这也没有做任何事情。在成功后尝试自动聚焦在一个场上时同样的问题......任何人都知道为什么?
答案 0 :(得分:2)
试试这个:
success: function(result) {
var content = $("#chatresultaatcontent");
content .
html(result).
delay(50).
scrollTop(content[0].scrollHeight);
// The delay seems essential due to some strange problems
// with the OP's code
}
答案 1 :(得分:1)
这不是最漂亮的解决方案,但不管怎样,这似乎有效:
function toonBericht(vuserid) {
$("#verstuurbericht").show();
$("#chatresultaatcontent").val("");
$.ajax({
type: "GET",
data: { userid:vuserid },
url: './query/chatten/getchatbericht.php',
success: function(result) {
$("#chatresultaatcontent").html(result);
setTimeout(function(){
var d = $("#chatresultaatcontent");
d.scrollTop(d[0].scrollHeight);
}, 1);
}
});
}
使用一微秒的超时?它确实有效...如果我不使用它不会。很奇怪,但是......我现在只是这个解决方案。