div авто прокручивает при загрузке вниз страницы - PullRequest
0 голосов
/ 29 февраля 2020
'''
<html>
<head>
<title>Auto Refresh</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<script>
    window.onload=function () {
        var objDiv = document.getElementById("load_chats");
        objDiv.scrollTop = objDiv.scrollHeight;
    };
</script>
<style>
    #load_chats{
        width: 95%;
        margin: auto;
        height: 400px;
        overflow-y:auto;
        border: 2px solid black;
        background-image: url("../a/images/paper_pic.jpg");
    }
    #chat_window{
        width: 95%;
        margin: auto;
    }
    #right{
        border-radius: 5px;
        border: 2px solid darkslateblue;
        width: 40%;
        min-height: 20px;
        padding: 10px;
        margin: 5px;
        float: right;
        display: inline;
        clear: both;
        word-wrap: break-word;
        background-color: white;
    }
    #left{
        border-radius: 5px;
        border: 2px solid darkslateblue;
        width: 40%;
        min-height: 20px;
        padding: 10px;
        margin: 5px;
        clear: both;
        word-wrap: break-word;
        background-color: white;
    }
    #date{
        text-align: right;
    }
    p{}

 </style>
 </head>
 <body>
   <div id="chat_window">

 <div id="load_chats"></div>
</div>
<form name="add_chat" method="post">

        <label><textarea name="chat_content" id="chat_content"></textarea></label>
        <input type="button" name="chat_button" id="chat_button"  value="Chat"/>
</form>

</body>
 </html>
<script>
    $(document).ready(function(){
    $('#chat_button').click(function(){
        var tweet_txt = $('#chat_content').val();
        //trim() is used to remover spaces
        if($.trim(tweet_txt) !== '')
        {
            $.ajax({
                url:"insert.php",
                method:"POST",
                data:{chat_content:tweet_txt},
                dataType:"text",
                success:function(data)
                {
                    $('#chat_content').val("");
                }
            });
        }
     });

    setInterval(function(){//setInterval() clearInterval()
        $('#load_chats').load("fetch.php").fadeIn("slow");

    }, 1000);
});
</script>
'''

, так что я использую часть моего кода

'''
 <script>
    window.onload=function () {
        var objDiv = document.getElementById("load_chats");
        objDiv.scrollTop = objDiv.scrollHeight;
    };
</script>
...

на другой странице, и она работает просто отлично, но когда я переместил ее сюда на эту страницу, ее не работала любая помощь, было бы здорово. Я делаю чат, который обновляется из базы данных sql, и он просто хочет, чтобы он начинался в нижней части текста, как вы видели бы на своем телефоне, я искал это, и ничего не работает, заставляя меня go вернуться в окно .onload = функция

1 Ответ

0 голосов
/ 29 февраля 2020

Когда страница просто загружает, высота div равна 0, потому что она пустая. поэтому вы прокрутите его до 0. Вы должны прокрутить div до дна ПОСЛЕ , в который вы загрузите fetch.php.

 $('#load_chats').load("fetch.php", {}, function(data){
        var objDiv = $("#load_chats")[0];
        objDiv.scrollTop = objDiv.scrollHeight;
 }).fadeIn("slow");
...