Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户手动滚动时,如何防止自动滚动?_Javascript_Jquery_Html_Scroll - Fatal编程技术网

Javascript 当用户手动滚动时,如何防止自动滚动?

Javascript 当用户手动滚动时,如何防止自动滚动?,javascript,jquery,html,scroll,Javascript,Jquery,Html,Scroll,我有一个聊天应用程序,其中聊天信息显示在一个div(id:messages\u container)中 每5秒钟,AJAX请求响应会将新消息附加到messages_容器中。我使用代码在新消息到达时自动滚动到div的底部 这是我使用的代码: $("#messages_container").prop({ scrollTop: $("#messages_container").prop("scrollHeight") }); 如果用户希望看到早期的消息,他会向上滚动div。问题是,当他手动滚动时,

我有一个聊天应用程序,其中聊天信息显示在一个div(id:messages\u container)中

每5秒钟,AJAX请求响应会将新消息附加到messages_容器中。我使用代码在新消息到达时自动滚动到div的底部

这是我使用的代码:

$("#messages_container").prop({ scrollTop: $("#messages_container").prop("scrollHeight") });
如果用户希望看到早期的消息,他会向上滚动div。问题是,当他手动滚动时,自动滚动会工作,然后将用户带到div的底部

当用户手动滚动时,如何防止自动滚动? 我们有滚动事件吗


请帮助我。

您可以像下面这样检查用户滚动,然后像下面一样使用滚动禁用功能

//detect user scrolling or browser scrolling start  
var userScroll = false;     

function mouseEvent(e) { 
userScroll = true; 
} 

if(window.addEventListener) {
    document.addEventListener('DOMMouseScroll', mouseEvent,false); 
}


// detect browser/user scroll
$(document).scroll( function(){  
    console.log('Scroll initiated by ' + (userScroll == true ? "user" : "browser"));
});
    //detect user scrolling or browser scrolling end

//this is for scroll disableing
window.onmousewheel = document.onmousewheel = function(e) {
   e = e || window.event;
   if (e.preventDefault)
   e.preventDefault();
   e.returnValue = false;
 };
用于滚动禁用参考