JQuery - Ajax - Scroll和setInterval

时间:2018-05-25 11:47:11

标签: php jquery ajax

我遇到了scroll和setInterval的问题。

以下是代码:

function displayChat(){
    $.ajax({
        url: 'chat/fetch_chat.php',
        type: 'POST',
        async: false,
        data:{
            fetch: 1,
        },
        success: function(response){
            $("#chat_area").html(response);
            $("#chat_area").scrollTop($("#chat_area")[0].scrollHeight);
        }
    })
};
setInterval(displayChat, 1000);

插入新数据后,带" chat_area" ID的div区域将自动向下滚动。但是当我尝试向上滚动时,它会强制" chat_area" 再次向下滚动。我知道这是因为 setInterval

任何人都可以帮助我?

1 个答案:

答案 0 :(得分:-1)



const chart = $("#chat_area");

setInterval(displayChat, 1000);

function displayChat() {

    $.ajax({
        url: 'chat/fetch_chat.php',
        type: 'POST',
        async: false,
        data: {
            fetch: 1,
        },
        success: function(response) {
            chart.html(response).trigger('ajaxUpdate');
        }
    })
};


$(() => {

    chart.one('ajaxUpdate', '', (event) => {
        event.target.scrollIntoView({
            behavior: "smooth",
            block: "center",
            inline: "start"
        });
    })

});