【问题标题】:iOS html app : big scrolling list causes elements to disappeariOS html 应用程序:大滚动列表导致元素消失
【发布时间】:2014-03-26 08:31:09
【问题描述】:

我正在制作一个 Facebook 好友选择器,其中包含包含头像和用户名的项目。在快速滚动时,元素通常会延迟出现。

我意识到我的问题与此类似:iPad Safari scrolling causes HTML elements to disappear and reappear with a delay 但是,接受的答案并不能解决我的问题,因为它会导致我的应用在滚动一段时间后崩溃。滚动也变得更加滞后。

我不知道 GPU 渲染是如何工作的细节,但我的猜测是每一行在 GPU 中都会变成一个纹理,过一段时间就太多了。

还有什么我可以尝试的吗?顺便说一句,没有相对定位。 我有大约 700 个朋友,但我只能想象随着列表变长问题会变得更糟,因为当我故意将其设置为显示更少的项目时,问题似乎消失了。

谢谢!

【问题讨论】:

  • 如果有人知道(稍微)限制动量滚动速度的方法,那可能会有很大帮助。

标签: javascript jquery ios css html


【解决方案1】:

对于需要在 HTML 应用程序中滚动的长列表,我建议使用 AngularJS 中的 ng-grid 函数。其他建议只是优化 CSS 并确保在滚动时没有大量的框阴影、渐变等占用大量处理能力。

希望对您有所帮助,如有任何问题,请告诉我!

【讨论】:

  • 我尝试从我的项目中删除所有样式,虽然它稍微改善了问题,但它仍然存在。但我会试试 ng-grid,谢谢!
  • 别担心!如果我有帮助,接受作为答案会很棒:)
  • Off course :) 不过需要先完成一些其他工作。您是否碰巧知道这个组件是否可以很好地与 webkit-overflow-scrolling:touch 配合使用?
  • 我刚下载了ng-grid,在我的iphone上测试了workbench/index3.html demo(因为那是唯一一个数据集比较大的),很卡,所以这个看起来不太有希望。
【解决方案2】:

这能解决您的问题吗?

overflow-y: auto;

将其添加到您的容器中。

(根据您的需要,大概只是 overflow: auto; 也可以工作。)

【讨论】:

    猜你喜欢
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 2020-07-14
    • 2011-04-03
    • 2018-10-15
    相关资源
    最近更新 更多