0

私のサイトのチャットボックスを毎秒ロードするjqueryコードがあります(新しい投稿が到着すると表示されます)

私のコードはここにあります

function loadLog(){     
    $.ajax({
        url: "/log.html",
        cache: false,
        success: function(html){        
            $("#chatbox").html(html); //Insert chat log into the #chatbox div           
            if($("#chatbox").attr("scrollHeight") + 20 > $("#chatbox").attr("scrollHeight") - 20){
                $("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); //Autoscroll to bottom of div
            }               
        },
    });
}

チャットボックスの下部に自動スクロールして最新の投稿が表示されるようにすることを除いて、すべて正常に機能しますが、代わりに上部にとどまります.

最新バージョンの jQuery を使用しています

4

1 に答える 1

1

そのような属性はありませんscrollHeight(それはプロパティです)。代わりに次のようなことを試してみるとどうなりますか:

$box.animate({scrollTop: $box[0].scrollHeight}, 'normal');

http://jsfiddle.net/dfsq/zBdas/

もう 1 つのヒント: などの DOM クエリを必ずキャッシュし、$box = $("#chatbox")要素を何度も選択し直さないでください。

于 2013-08-02T20:07:06.207 に答える