使用iscroll模拟了滚动条,在iphone上测试发现,偶尔会发现滚动内容出现闪动的BUG,经过多数轮吐血测试,终于可以重现BUG了:
BUG重现:
滚动内容区域高度<&#61;1024px&#xff0c;则显示正常。如果>1024&#xff0c;初始化iscroll组件时候就会出现闪动的BUG&#xff0c;或者在浏览器从后台重新激活的时候&#xff0c;也会出现闪动的“刷新”。
BUG解决&#xff1a;
通过逐步跟踪调试&#xff0c;终于找到了原因&#xff0c; 是webkit调用-webkit-transform&#xff1a;translate3d…导致的BUG。
所以最快的解决方法是&#xff0c;将配置文件中的useTransform设置为false。
BUG的根源&#xff1a;
查了一些资料&#xff0c;根源是ios4 webkit的bug,在iphone webkit创建纹理的时候&#xff0c;如果内容区域>1024象素&#xff0c;将会继续创新纹理&#xff0c;而iscroll中调用的translate3d动画在这个重绘的过程中出现了一些BUG&#xff0c;这些在iso5中得到了修正。
参考资料&#xff1a;
http://joehewitt.com/2011/10/05/fast-animation-with-ios-webkit
/*20130320补充*/
android上测试&#xff0c;依旧还存在偶尔闪动现象。查找has3d属性&#xff0c;并设置has3d &#61; false;
目前来看&#xff0c;完美解决
转载&#xff1a;http://jslover.com/?p&#61;413