我知道有类似的帖子,但我找不到任何一个对我有用的答案。我希望新消息滚动到底部,但它没有这样做。
这是我的脚本show_messages.js:
我有一个名为'show-messages'的div,设置为overflow:auto
$(document).ready(function() {
// grab id from html attribute
var uid = $('#message').attr('name');
setInterval(function() {
// load messages with userid
$('#show-messages').load('show_messages.php?uid=' + uid);
$("#show-messages").scrollTop = $("#show-messages").scrollHeight;
}, 500 );
});
有没有人有任何想法会导致不向下滚动?
答案 0 :(得分:2)
我认为你应该使用.scrollTop函数作为加载方法的回调。
$('#show-messages').load('show_messages.php?uid=' + uid, function () {
$("#show-messages").scrollTop($("#show-messages")[0].scrollHeight);
});
答案 1 :(得分:1)
scrollTop
是jQuery对象的函数,但您将其称为属性。但是,scrollHeight
不是,但它是HTML元素的属性。要从jQuery对象访问(第一个)HTML元素,请使用$()[0]
。
此外,您应该在load
完成
$('#show-messages').load('show_messages.php?uid=' + uid, function () {
$("#show-messages").scrollTop( $("#show-messages")[0].scrollHeight );
});