![](/img/trans.png)
[英]Scroll to bottom of div after ajax request code doesn't allow me to scroll back up
[英]scroll to bottom of div after refreshing
我有一些基本的 ajax 来在我的聊天中加载新消息,我将其设置为使用.load 刷新 div,并使用滚动高度滚动到底部......唯一的问题是,.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>
当您可能需要使用setTimeout()
) 时,您似乎正在使用setInterval()
) 。 setInterval()
每秒被调用一次,所以这可能就是它跳跃的原因。 setTimeout()
只会被调用一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.