タイトルは私の問題を説明しています。だからここに私のコードがあります:
$("#my-div ul").scrollTop($("#my-div ul")[0].scrollHeight);
#my-div は AJAX を使用して埋められます。したがって、私の ajax リクエストでは、上記のコードを実行する成功のコールバックがあります。
$.ajax({
url: 'getLog.php',
data: {'logFile': 'log.php'}, // echo "<ul> A BUNCH OF <li>s here </ul>"
success: function(data){
$("#my-div").html(data);
// console.log($("#my-div ul")[0].scrollHeight); // Debugging Purposes
$("#my-div ul").scrollTop($("#my-div ul")[0].scrollHeight);
}
});
私は先に進み、コンソールは $("#my-div ul")[0].scrollHeight (コードでわかるように) をログに記録し、.scrollTop() を実行する前に scrollHeight を知っているかどうかを確認しました。次に、ログ ファイルのサイズを増やして更新したところ、830 と表示されました)
驚くべきことは、コンソール(Chrome)に移動して入力すると、
$("#my-div ul").scrollTop($("#my-div ul")[0].scrollHeight);
それは完全に機能し、ulは一番下までスクロールします!
なぜそれが機能しないのか理解できません... :(