【问题标题】:Why is skrollr preventing scrolling on ipad?为什么 skrollr 阻止在 ipad 上滚动?
【发布时间】:2013-11-24 06:33:13
【问题描述】:

我正在尝试使用 skrollr 创建一个简单的视差动画:我的网站在 Chrome/Mac 上运行良好,但我在 ipad 上看到异常行为..

在ipad上(在IOS模拟器上测试),

  • 页面主体根本不滚动(或者可能在后台滚动,在动画 div 下方?)
  • 动画背景位置(折纸图案)在data-start / data-top-bottom 定义的范围内沿相反方向(向下向上)滚动

在桌面上,如果我在 chrome 开发工具中将 div#hero 修改为 position: fixed;,我可以模拟效果。

  • skrollr examples 在 IOS 模拟器中按预期工作。
  • 我在结束 </body> 标签之前有<div id="skrollr-body"></div>

有什么建议吗?

【问题讨论】:

  • “我有
    就在结束

标签: ipad parallax skrollr


【解决方案1】:

您只是天真地添加了一个空的#skrollr-body 元素。文档说

从 skrollr 0.6.0 开始,您只需要做一件事:在您的页面上添加一个 ID 为 skrollr-body 的元素。这就是我们为了伪造滚动而移动的元素。

如果这是我们为假滚动而移动的元素,那么您的所有元素都需要在其中(除非它们是固定位置的)。

唯一不需要#skrollr-body 的情况是在使用 position:fixed 时。事实上,skrollr 网站不包含#skrollr-body 元素。如果您需要固定和非固定(即静态)元素,请将静态元素放在#skrollr-body 元素中。

https://github.com/Prinzhorn/skrollr#what-you-need-in-order-to-support-mobile-browsers

【讨论】:

  • 公平的电话,谢谢 - 深夜和交叉电线;结案。
【解决方案2】:

换句话说,只需在开始的<body> 标记之后添加一个<div id="skrollr-body"> 标记,然后通过在</body> 标记之前添加一个</div> 来关闭此分割。

【讨论】:

  • 这对我来说不太适用。结果是我无法滚动页面的整个高度。
【解决方案3】:

添加带有 skrollr-body id 的 div 包装器完全没有任何作用,滚动在移动设备上不起作用

【讨论】:

    猜你喜欢
    • 2023-02-22
    • 2012-10-30
    • 2014-04-21
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多