任何人都可以根据经验告诉我什么是创建大列表选择项目的最佳方法,这样性能就不会受到伤害。
我想做一个设置页面,用户可以在其中选择他的国家或语言。两个选择菜单都将超过 20-30 项。我想用一个单选按钮列表制作一个覆盖层,并让用户控制滚动和选择他的项目。
这是性能吗?还有其他很酷的解决方案吗?
我想为Phonegap使用这个布局,这意味着有没有办法使用一些本机功能来创建这个菜单,使用它们会更好,而不是JQM功能。
你是什么意思?
任何人都可以根据经验告诉我什么是创建大列表选择项目的最佳方法,这样性能就不会受到伤害。
我想做一个设置页面,用户可以在其中选择他的国家或语言。两个选择菜单都将超过 20-30 项。我想用一个单选按钮列表制作一个覆盖层,并让用户控制滚动和选择他的项目。
这是性能吗?还有其他很酷的解决方案吗?
我想为Phonegap使用这个布局,这意味着有没有办法使用一些本机功能来创建这个菜单,使用它们会更好,而不是JQM功能。
你是什么意思?
你必须明白没有很酷的魔法方法可以做到这一点。jQM 依赖于尽可能快的 jquery。
20-30个项目还不错。您应该担心 50 多个项目,100 个项目选择框需要大约 2 秒才能呈现。
主要的性能问题是 listview("refresh") 方法。只有一种方法可以通过使用常见的 js DOM 方法来更快地做到这一点。不幸的是,您将花费大量时间正确复制它。
我会建议您在一些较旧的移动设备上进行性能测试。如果 jQM 渲染列表视图超过 500 毫秒,则使用一些自定义 ajax 加载器来显示应用程序正在运行。你无能为力。
我不知道这是否是一个很酷navigator.appVersion
的解决方案,但您可以使用自动确定语言而不是使用列表进行选择,请参阅以下 JavaScript 片段:
<script>
alert(navigator.appVersion);
</script>
以及在具有 Android 2.2 的 Android 设备上的相应结果:
您只需解析语言,在示例中为de-de。