我遇到了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 。
任何人都可以帮助我?
答案 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"
});
})
});