Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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_Scroll_Mousewheel - Fatal编程技术网

Javascript 检测页面底部的死区滚动(鼠标滚轮、滚动事件)

Javascript 检测页面底部的死区滚动(鼠标滚轮、滚动事件),javascript,jquery,scroll,mousewheel,Javascript,Jquery,Scroll,Mousewheel,我希望检测用户何时已滚动到页面底部,然后尝试继续滚动,但没有任何内容可供滚动/查看 我正在创建可用性指标,其中死区滚动是一个指标,需要一种方法来准确检测用户何时尝试滚动,但没有提供任何可查看的内容 我需要在鼠标滚轮事件启动但页面不滚动时触发的东西,具有向上/向下方向。添加windows scrollTop()和高度。如果它等于文档高度,则您位于页面底部 $(window).scroll(function() { if($(window).scrollTop() + $(window).he

我希望检测用户何时已滚动到页面底部,然后尝试继续滚动,但没有任何内容可供滚动/查看

我正在创建可用性指标,其中死区滚动是一个指标,需要一种方法来准确检测用户何时尝试滚动,但没有提供任何可查看的内容

我需要在鼠标滚轮事件启动但页面不滚动时触发的东西,具有向上/向下方向。

添加windows scrollTop()和高度。如果它等于文档高度,则您位于页面底部

$(window).scroll(function() {
   if($(window).scrollTop() + $(window).height() == $(document).height()) {
       console.log("Page bottom reached!");
   }
});

下面是我用来阻止页面在到达底部时设置滚动动画的脚本:

var gate = $(window), edge;
setLength();

gate.resize(function() {
  setLength();
});

function setLength() {
  edge = $(document).height()-gate.height();
}

gate.mousewheel(function(event, delta) {

    outset = gate.scrollTop();
    if (delta == 1 && outset == 0 ) console.log('top');
    if (delta == -1 && outset == edge) console.log('bottom');
});
我正在使用mousewheel插件,它非常棒,对于任何良好的跨浏览器支持,您都必须编写一系列代码来规范轮子事件


我想这会做问题中提出的事情——检测鼠标滚轮事件是否会使页面滚动超出其限制。对于思维实验,虽然你也可以领先一步,但只有当
mouseweel
被用作设定器时才能准确地进行。当用户触发鼠标滚轮事件时,页面可以滚动精确的像素数。当知道页面的目的地时,您可以检查是否可以到达页面的顶部或底部。

显示您的代码您做了什么…您需要显示一些努力,stackoverflow不是一个可以接收任何问题的完整代码解决方案的网站。为什么不使用jquery设置一个测试,看看当死卷发生时是否会触发scroll事件当你尝试向下滚动时scroll事件不会触发当你到达底部时,但是一旦它到达底部,并且用户试图保持滚动,我们可以触发其他东西吗?你可以把你想做的任何事情放在控制台logOld的位置上,但仍然。。一旦到达底部,Scroll事件不会一直触发,所以这不起作用。console.log只发生一次,如果在触底时一直滚动,它将不再触发。OP想要一些东西来检测一个人在到达末尾后是否继续滚动。很好,让我来试试。这样行吗?如果用户在向页面的外部限制滚动时需要像素精度,可以考虑使用我所写的平滑滚动脚本(从上面摘录):谢谢
$(window).scroll(function() {
   if($(window).scrollTop() + $(window).height() == $(document).height()) {
       console.log("Page bottom reached!");
   }
});