3

タイトルは私の問題を説明しています。だからここに私のコードがあります:

$("#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は一番下までスクロールします!

なぜそれが機能しないのか理解できません... :(

4

1 に答える 1