我正在研究聊天应用程序的自动滚动,就像每次与某人进行对话时,对话页面都会自动向下滚动,当我发送消息时,滚动条会自动再次向下滚动每个发送-接收消息。 使用此脚本,我实现了目标
$(document).ready(function() {
setInterval(function() {
$('#messagepost').load('conveyrefresh.php?value=<?php echo $mid."&picture=".$profilepic; ?>').scrollTop($("#messagepost").prop('scrollHeight'))
}, 1000);
});
但是问题是,当我向上滚动时,它没有正常向上滚动,这意味着它没有固定在其上方位置,它会自动下降。
我希望它在每次发送消息和刷新页面时在自动滚动旁边向上或向下滚动时正常工作。
搜索其解决方案后,我已经实现了此脚本(代替上面的脚本)-
var scrollpos = $("#messagepost").scrollTop();
var scrollpos = parseInt(scrollpos) + 520;
var scrollHeight = $("#messagepost").prop('scrollHeight');
if(scrollpos < scrollHeight)
{
$(document).ready(function() {
setInterval(function () {
$('#messagepost').load('conveyrefresh.php?value=<?php echo $mid."&picture=".$profilepic; ?>')
}, 1000);
});
}
else
{
$(document).ready(function() {
setInterval(function () {
$('#messagepost').load('conveyrefresh.php?value=<?php echo $mid."&picture=".$profilepic; ?>').scrollTop($("#messagepost").prop('scrollHeight'))
}, 1000);});
}
但是在应用它之后,自动滚动功能就消失了。
答案 0 :(得分:0)
花了很多时间后,我找到了解决方案,并且对我有用。
<script type="text/javascript">
$("#messagepost").scrollTop($("#messagepost").prop('scrollHeight'));
$(document).ready(function()
{
function updateChat(){
$('#messagepost').load('conveyrefresh.php?value=<?php echo $mid."&picture=".$profilepic; ?>');
}
var chat = $("#messagepost").html();
setInterval(function () {
updateChat();
if(chat !== $("#messagepost").html()){
$("#messagepost").scrollTop($("#messagepost").prop("scrollHeight"));
chat = $("#messagepost").html();
}
}, 1000);});
</script>