прокрутите вниз div после обновления - PullRequest
0 голосов
/ 26 мая 2020

У меня есть базовые c ajax для загрузки новых сообщений в мой чат, и я установил для него refre sh div с помощью .load и прокрутка вниз с высотой прокрутки ... только проблема в том, что .load заставляет div перемещаться вверх, а scrollheight - вниз, поэтому мой чат просто подпрыгивает вверх и вниз. Я пробовал все, что мог, чтобы исправить это, но ничего не работает.

<script>
setInterval("scroll();",1000); 
function scroll(){
var element = document.getElementById("chit");
    element.scrollTop = element.scrollHeight;
    $('#hat').load(location.href + ' #chit');
}
</script>




<?php   if(isset($_GET['user'])){ global $con;
    $get_id = $_GET['user'];
    $get_user = "select * from users where user_name='$get_id'";
    $run_user = mysqli_query($con,$get_user);
    $row_user = mysqli_fetch_array($run_user);
    $user2 = $row_user['user_name'];
    }
?>
<main role="main" id="chat" align="center">
<div id="chat_tit" align="center"><?php echo $user2 ; ?></div>
<div id="hat">
<div id="chit" align="left">

<?php 
$c_hat = "SELECT * FROM msg WHERE (user_to='$user' AND user_from='$user2') OR (user_from='$user' AND user_to='$user2')";
$run_chat = mysqli_query($con,$c_hat);

            while($chat=mysqli_fetch_array($run_chat)){
                $from = $chat['user_from'];
                $msg = $chat['msg_body'];
                $time = ago($chat['date']);

echo '<div id="chat_box"><div id="from">[<a href="pfp.php?user_name='.$from.'">'.$from.'</a>]</div><div id="time">'.$time.'</div><div id="msg">'.$msg.'</div>

<div id="underline"></div>

</div>';



}
?>
</div>
</div>

1 Ответ

0 голосов
/ 28 мая 2020

Похоже, вы используете setInterval(), когда вам может понадобиться setTimeout(). setInterval() вызывается каждую секунду, поэтому, возможно, он прыгает. setTimeout() будет вызываться только один раз.

...