iOS中的滚动位置

Posted

技术标签:

【中文标题】iOS中的滚动位置【英文标题】:Scroll position in iOS 【发布时间】:2011-08-18 14:26:15 【问题描述】:

javascript 中,我想了解一些事情:

    我们可以同时获取/设置窗口的滚动位置吗? 窗口滚动位置和页面上的普通元素有什么区别? 我们可以为任何 html 元素设置滚动位置,还是只为那些具有溢出属性的元素设置滚动位置? iPad 的这些属性计算有什么不同吗? 对于scrollWidth,是否会受到垂直滚动条的影响。如果是,是否在所有浏览器中都相同?

【问题讨论】:

【参考方案1】:

你的答案。

    $(window).scrollTop(),$(window).scrollTop(100);

    window滚动位置是主页面的滚动位置(左/上),对于普通元素,当我们设置溢出时滚动位置适用:自动,然后我们可以获取/设置滚动位置它。

    我们可以使用$("selector").scrollTop()/scrollLeft() 获取任何元素的滚动位置,但是如果溢出不是自动的,那么我认为它将始终返回 0。

    对于 iPad,scrollTop()/scrollLeft() 不起作用,您必须使用 window.pageYOffset/window.pageXOffset

JavaScript 等价物,未跨浏览器测试

$(window).scrollTop() - document.documentElement.scrollTop/scrollLeft $("selector").scrollLeft() - document.getElementById("elementId").offsetTop/offsetLeft

【讨论】:

普通html elememt scroll pos的语法有什么区别? 同样在 iPad 上,我可以在 quirksmode.org/dom/tests/elementdimensions.html 上看到 scrollTop ..testing 普通 html 元素的语法相同。 scrollTop 在 iPad 上有,但它没有给你正确的价值。我已经在我的 iPad 网页上使用了它。 好的..不知道为什么我觉得在 dem 页面上正确...无论如何我还添加了第 5 个问题... 你能突出显示这些普通 JS 与 jQuery 方法的映射吗?

以上是关于iOS中的滚动位置的主要内容,如果未能解决你的问题,请参考以下文章

iOS 10 Safari:防止在固定覆盖层后面滚动并保持滚动位置

iOS - 搜索数字并在该位置滚动

禁用 UITextView 中的滚动,同时避免在 ios 的当前位置弹跳到顶部和文本不可见

如何在 iOS 上的 Safari 中滚动时监控滚动位置?

iOS UITableView 向上滚动时滚动位置跳跃

如何让可滚动集合视图中的浮动标题视图保持其 Y 位置?