当手指在屏幕上而不抬起时,jos动画在ios safari webkit浏览器中停止

时间:2012-04-27 18:53:29

标签: javascript ios animation webview touch

我有一个webview,正在应用中显示 页面上有一个动画,一个数字计时器,我在这里显示每个数字的图像,如00:39,29:39等等

它正在动画中使用页面内javascript中的setInterval 问题是,当我把手指放在屏幕上时,即触摸而不抬起我的手指 浏览器停止,意味着动画不再动画,当我的手指触摸屏幕时它停在那个地方,并且在我抬起手指后它将继续动画

我该如何解决这个问题? 我听说我可以使用防止默认方法,但是不会忽略页面上我的所有事件吗?

除了我的网页中的计时器之外,我还有一些用户可以与之交互的东西,所以它正在寻找点击事件等。

所以我绝对想保留它 请帮忙

这种情况发生在ios设备上...如果我在桌面浏览器中运行,一切似乎都没问题......没有停止观察

3 个答案:

答案 0 :(得分:1)

对于后来遇到这种情况的人来说: 动画在滚动时始终会停止在网络浏览器,这是您的网络视图通过手指触摸预期的结果。 这也会在桌面浏览器上发生

答案 1 :(得分:0)

如果你在任何地方或只在柜台上按下它会停止吗?尝试阻止对counter元素的点击。例如..

$('#counter-container').click(function()
{
  e.preventDefault();

  return false;
});

编辑:显然这不是一个罕见的问题。当iphone需要更多CPU /内存资源时,它将停止执行javascript。查看使用setInterval(以给定间隔执行javascript直到调用clearInterval())来检测动画是否未成功完成。
相关问题:
User interaction sometimes screws up jQuery ajax requests in UIWebView
AJAX constantly look for server update? Javascript
https://discussions.apple.com/thread/2723866?start=0&tstart=0

答案 2 :(得分:0)

发现问题所在。 它与ajax请求或cpu无关 这是因为引入了一个小滚动。显然,如果你正在滚动或滚动,所有的信息都会停止。