Автоматическая прокрутка вниз не прокручивается вверх при перетаскивании - PullRequest
0 голосов
/ 23 февраля 2019

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

$(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);});
    } 

Но после его применения функциональность автоматической прокрутки исчезла.

1 Ответ

0 голосов
/ 23 февраля 2019

Потратив много времени, я нашел решение, и оно работает на меня.

<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> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...