移动设备屏幕滚动时,Mobi站点动画停止。

3
我正在尝试使用JavaScript为移动站点制作简单的视差效果。
当我在桌面浏览器上检查时,它运行良好。但是,当我从移动设备检查并使用触摸滚动时,动画会冻结。松开触摸屏后,它会再次显示。
是否有任何方法可以在使用触摸屏幕滚动时保持动画播放?
嗯,只要您通过触摸屏幕移动,就会使任何类型的JS动画都冻结。
lft = 0;
setInterval(function(){  
  lft++;
  $('#my-div').css('margin-left',lft+'px');     
},100);

如果有人想要实时查看问题,请查看这里:http://johnpolacek.github.com/scrollorama/。它在桌面浏览器上表现很好,但在移动浏览器上触摸和滚动时会冻结动画。谢谢。

你应该添加一些代码,这样人们就可以看到你在做什么。 - easwee
任何类型的动画在您通过触摸屏幕滚动时都会冻结。我已经添加了一个示例。 - Hasanavi
1个回答

1

不幸的是,您无法控制移动浏览器选择如何呈现内容。就像在IE6中,当滚动时动画gif文件会停止动画一样,我认为移动浏览器被设计为在滚动期间停止动画。

话虽如此,我已经尝试过一些Safari特定的效果,在iPhone上做了一些引人注目的东西,取得了适度的成功。此外,还有像“PhoneGap”这样的库,允许您为手机编写本地“Web应用程序”。

除了从头开始创建整个动画以实现移动性能之外,我看不出其他简单使该脚本工作的方法。


是的,我想是这样。但我在 iPhone / Android 上找到了几个例子,当它在滑动时进行动画。例如,如果您从手机上访问此处:http://dev.sencha.com/deploy/touch/examples/kitchensink/,然后选择用户界面-> Carousel。您将看到同时进行滑动和动画。我想知道背后的技巧。有什么想法吗? - Hasanavi
因此,您可能需要深入研究他们正在使用的Sencha Touch脚本[http://www.sencha.com/products/touch/]。如果您可以找到非最小化版本,请查找“Carousel”方法。这很可能会让您准确了解他们如何实现平稳过渡。 - farina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接