【问题标题】:$(window).scroll() Method of keeping a bottom bar on a website doesn't work on iPhone$(window).scroll() 在网站上保留底栏的方法在 iPhone 上不起作用
【发布时间】:2011-09-14 07:20:52
【问题描述】:

所以,我正在开发一个应该适合移动设备的网站。这个版本的网站设计得更像一个 iPhone 应用程序,因此屏幕底部有一个栏http://snpr.cm/kaU9DM.jpg,它需要保持静止。我以前做过这样的事情,简而言之,只要用户滚动,就使用 $(window).scroll() 函数重新定位栏。使用移动 Safari,此功能仅在用户完成滚动后才会触发,效果不佳。我尝试过使用 touchstart、touchmove 和 touchend 绑定,但它们也不能很好地工作。

有什么建议吗?

【问题讨论】:

    标签: jquery iphone ios


    【解决方案1】:

    这是一个已知问题。您要么必须接受工具栏将被延迟。许多网站赋予此类工具栏一种更“浮动”/独立的感觉,并希望与这种行为相匹配。

    或者您可以使用元标记设置页面尺寸和屏幕尺寸。然后将您的内容放在滚动 div 中,滚动 div 下方有一个工具栏。这样当用户滚动页面时,页面实际上会保持原位,但占据除底部栏空间之外的所有屏幕的 div 实际上是滚动的。这似乎是大多数人解决这个问题的方式。然而,更难的是,你不能只在 CSS 中设置一个带有溢出设置的 div,你需要使用类似 iscroll 的东西,否则用户将不得不使用 2 个手指来滚动(如果他们意识到他们有用两根手指)

    在 ios5 中,将元素的 CSS 位置属性设置为固定现在以有意义的方式工作,因此如果您不介意将 iTouch 第一代和第二代以及 iPhone 原版和 iPhone 3G 用户留在后面,您可以使用它。此外,ios5 允许用户使用一根手指滚动元素而无需任何额外功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 2023-04-06
      • 2017-04-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多