自动刷新而不影响滚动

时间:2012-10-21 12:45:43

标签: javascript jquery

我有一个自动聊天部分,我必须将聊天滚动条放到底部。像这样:

function chatuser(user1) {
    $("#currentuser").load('chatcontent.php', {
        current: user1
    }, function afterchatuser() {
        $("#currentcontent").attr({
            scrollTop: $("#currentcontent").attr("scrollHeight")
        });
    });
}

<div id="currentuser"></div>

对于自动更新,我会自动刷新该功能。像这样:

var auto_refresh = setInterval(function chatauto() {
    chatuser(user1);
}, 2000);​

但是每次刷新滚动条时,它都会刷新到底部。就像用户滚动到顶部一样,刷新后它会自动将滚动条移到底部。我想阻止它,但它也应该及时刷新。请帮帮我。

1 个答案:

答案 0 :(得分:1)

您基本需要的是通过新内容高度差的值更改(增加)消息容器的scrollTop。看看这个demo它应该给你一些想法。

$('div').scrollTop(function() {
    return scroll + $(text).appendTo($(this)).height();        
});

此附加新内容之前的scroll旧scrollTop值。