Jquery滚动功能在iphone设备上不起作用
Posted
技术标签:
【中文标题】Jquery滚动功能在iphone设备上不起作用【英文标题】:Jquery scroll function not working on iphone device 【发布时间】:2019-08-28 13:11:10 【问题描述】:我有一个滚动功能,当用户滚动时会出现一个 div,而当他们向上滚动时它会消失。问题是当我在设备(iphone)上测试时,这仅适用于移动设备,当我一直滚动到顶部时,div 出现在顶部,在 chrome 模拟器上很好,但在 iphone chrome 和 iphone safari 上出现在顶部?有什么想法吗?
$('document').ready(function()
var lastScrollTop = 0;
$(window).scroll(function(event)
var st = $(this).scrollTop();
if (st > lastScrollTop)
$('.scroll-div').show();
else if (st == lastScrollTop)
//do nothing
//In IE this is an important condition because there seems to be some instances where the last scrollTop is equal to the new one
else
$(".scroll-div").hide();
lastScrollTop = st;
);
);
【问题讨论】:
检查您是否有overflow-x: hidden
或overflow-y: hidden
,那么您将无法在$(this).scrollTop()
中获得价值
我在任何元素上都没有这个
它可能存在于body标签或最根html标签中
【参考方案1】:
您可以使用此代码获取滚动顶部值
scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop)
JQuery 方法 $(this).scrollTop()
在 ios 中可能返回零
【讨论】:
你是说,jquery方法不合适? 您可以识别溢出隐藏(如果存在),您可以将其删除,是的 jquery 可能会提供始终隐藏的滚动为零这是一种已知问题以上是关于Jquery滚动功能在iphone设备上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
jquery click 在 ipad/iphone 上不起作用