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 移动设备上的jQuery实时滚动事件(解决方案)_Javascript_Jquery_Ios_Events_Scroll - Fatal编程技术网

Javascript 移动设备上的jQuery实时滚动事件(解决方案)

Javascript 移动设备上的jQuery实时滚动事件(解决方案),javascript,jquery,ios,events,scroll,Javascript,Jquery,Ios,Events,Scroll,古老的问题: 当用户在移动站点或应用程序(web视图)上滚动某个元素时触发滚动事件 我所要寻找的只是在用户在移动设备上滚动我的页面时访问正确的scrollTop()值,而不是在用户停止时获取它 我确信在某个地方有一个解决办法,如果我是正确的话,这个限制是由iOS设置的,并且在过去的几年里一直有关于它的讨论 我已经尝试过实现本机滚动模拟器,但它们似乎都没有按照我所希望的方式工作。老实说,如果我真正想要的是用户滚动时的持久性scrollTop(),那就太过分了 我目前正在考虑在touchStart上

古老的问题: 当用户在移动站点或应用程序(web视图)上滚动某个元素时触发滚动事件

我所要寻找的只是在用户在移动设备上滚动我的页面时访问正确的
scrollTop()
值,而不是在用户停止时获取它

我确信在某个地方有一个解决办法,如果我是正确的话,这个限制是由iOS设置的,并且在过去的几年里一直有关于它的讨论

我已经尝试过实现本机滚动模拟器,但它们似乎都没有按照我所希望的方式工作。老实说,如果我真正想要的是用户滚动时的持久性
scrollTop()
,那就太过分了

我目前正在考虑在touchStart上启动一个计数器,然后在Touchtop上停止它,但有些事情告诉我我在浪费时间


有什么帮助吗?

也许你可以看看他们的
\u move
-方法是如何实现的,该方法绑定到
touchmove
事件:

这有点复杂,但我相信你会明白的。您也可以使用iScroll开始并绑定到他们的scrollmove事件(我不确定它在iScroll 5上是如何调用的,但在iScroll 4中它是
onScrollMove
该.y将为您提供正确的值。

使用jQuery:

$('body').bind('touchmove', function(e) { 
    console.log($(this).scrollTop()); // Replace this with your code.
});
当用户滚动时,这将为您提供一个一致的scrollTop值流,但要小心,即使用户只是用手指在屏幕上,它也会触发

请注意,如果您使用的是jQuery>=1.7,那么首选的绑定方法是
.on()
而不是我在示例中使用的
.bind()
方法。在这种情况下,我的例子是

$('body').on({
    'touchmove': function(e) { 
        console.log($(this).scrollTop()); // Replace this with your code.
    }
});

资料来源:

我必须走iScroll路线才能做到这一点。我在这里写了我的实现:

这看起来很有希望,我将在我的应用程序上测试它,然后接受答案,如果它有效的话。事实上,从技术上讲,你应该已经回答了这个问题,演示程序也可以运行了。好的,我现在就接受。我不确定我做错了什么,但这个解决方案对我来说比滚动事件更不好…当使用chrome设备工具栏(并通过单击鼠标和拖动滚动)但实际上不在移动设备上工作时,这似乎是可行的。