web-dev-qa-db-ja.com

追加後、jQueryを使用してdivを下部に自動スクロールします

Div class = 'messages'があります。 jQuery.append()を介してこのdivに日付を追加します。スタイルは次のとおりです。

.messages {
border: 1px solid #dddddd;
padding:10px;
height: 400px;
overflow-x:visible;
overflow-y: scroll;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
margin-bottom:10px;
font-size:14px;
}

自動スクロールには、次のような関数を使用します。

receiveMessage = function (name, message, type) {
    //adding new message
    $("#messages").append('<strong>' + name + ": " + '</strong>' + message + '<br>');
    /autoscrolling to the bottom
    $("#messages").animate({
        scrollTop: $("#messages").height()
    }, 300);
}

約20のメッセージが正常にスクロールしていますが、「ハング」した後、新しいメッセージはスクロールされません。 Chromeバージョン19.0.1084.56。何が間違っているのですか?ありがとうございます!

13
f1nn

変化する

scrollTop: $("#messages").height()

scrollTop: $("#messages").scrollHeight
8
Raab

この解決策は私にはうまくいきませんでした、しかし、以下はうまくいきました...

$(document).ready(function(){
   $('#chat-scroll').animate({
   scrollTop: $('#chat-scroll').get(0).scrollHeight}, 2000); 
 });
3

してみてください:

$(document).ready(function(){
   $('#chat-scroll').animate({scrollTop: $('#chat-scroll')[0].scrollHeight}, 2000);
});
1
Chintan Patel