0

チャットのスクロールバーを一番下に移動する必要がある自動チャットセクションがあります。このような:

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);​

ただし、スクロールバーがどこにあっても更新されるたびに、一番下に移動します。ユーザーが上にスクロールした場合と同様に、更新後、スクロールバーが自動的に下に移動します。これをやめたいのですが、タイムリーにリフレッシュする必要もあります。私を助けてください。

4

1 に答える 1

1

基本的に必要なのは、新しいコンテンツの高さの差の値によってメッセージコンテナのscrollTopを変更(増加)することです。このデモを見てください。それはあなたにいくつかのアイデアを与えるはずです。

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

ここではscroll、新しいコンテンツが追加される前の古いscrollTop値です。

于 2012-10-21T13:00:41.547 に答える