我试图在 iPad/iPhone 上滚动网站时获取 scrollTop() 值。
$(window).scroll(function(){
console.log($(window).scrollTop());
});
我将此代码用于普通桌面浏览器。在 Mac 上的 Safari 上,控制台在滚动时显示每个像素。但是在 iPad 上,我只有在滚动停止时才能得到值。
即使在 iPad 上滚动时,如何获取每个 scrollTop 值?
我试图在 iPad/iPhone 上滚动网站时获取 scrollTop() 值。
$(window).scroll(function(){
console.log($(window).scrollTop());
});
我将此代码用于普通桌面浏览器。在 Mac 上的 Safari 上,控制台在滚动时显示每个像素。但是在 iPad 上,我只有在滚动停止时才能得到值。
即使在 iPad 上滚动时,如何获取每个 scrollTop 值?
Have you tried the following?
$(document).on( 'scroll', function(){
var currentPosition = $(window).scrollTop();
console.log(currentPosition);
});
这个限制在iOS 8中改变了
当惯性/反弹效果运行时,这会在 touchend 之后继续记录 $(window).scrollTop() :
$(document).on( 'scroll', function(){
console.log($(window).scrollTop());});
在 iPad 9.2、iPhone 9.3.4 上测试
不要隐藏溢出或 scrollTop 在 safari 上不起作用。只需溢出:自动;
html,body {
overflow-x: auto;
overflow-y: auto;
}
尝试使用window.pageYOffset
和window.pageXOffset
。