我正在使用twitter bootstrap开发一个单一的寻呼机网站。我使用jQuery nicescroll在部分内滚动(用户只允许在单击菜单项时滚动浏览特定部分)。当部分内容较少并且滚动顺畅但部分内部元素数量增加时,它可以正常工作,滚动速度非常慢。
jQuery代码:
jQuery("section").niceScroll({horizrailenabled:false,scrollspeed:"5"});
jQuery("section").getNiceScroll().hide();//to hide the scrollbar but allow scrolling
请建议。
答案 0 :(得分:2)
移动内存非常少。很多DOM元素会导致速度变慢。减少DOM元素和样式可能会有所帮助。
我首先删除所有CSS以查看是否加快了速度。 box-shadows和border-raduis可以使用很多处理器。其他项目可能会减慢很多。
此外,您可以使用Safari 6.1或Chrome开发工具中的时间轴来查看重新计算样式和重新绘制屏幕的次数。重新涂抹太多也会减慢它的速度。
在移动设备上快速滚动的真正方法是为浏览器,DOM,网络和垃圾收集器进行大量自定义优化。查看PerfView的代码以查看一些优化(https://github.com/puppybits/BackboneJS-PerfView)。