6

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

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

我怎样才能解决这个问题?我听说我可以使用防止默认方法,但那不会忽略我在页面上的所有事件吗?

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

所以我当然也想保留它,请帮忙

这发生在 ios 设备上...如果我在桌面浏览器中运行,一切似乎都很好..不会停止被观察

4

3 回答 3

1

仅适用于以后遇到此问题的任何人: 滚动时动画总是在 Web 浏览器中停止,这是您的 Web 视图通过手指触摸所预期的。这也将发生在桌面浏览器上

于 2012-05-01T22:54:20.370 回答
0

如果您按任何地方或只按柜台,它会停止吗?尝试防止点击计数器元素。例如..

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

  return false;
});

编辑:显然这不是一个不常见的问题。当 iphone 需要更多 CPU/内存资源时,它将停止执行 javascript。研究使用 setInterval(以给定的时间间隔执行 javascript,直到调用 clearInterval())来检测动画是否未成功完成。
相关问题:
用户交互有时会搞砸 UIWebView 中的 jQuery ajax 请求
AJAX 不断寻找服务器更新?Javascript
https://discussions.apple.com/thread/2723866?start=0&tstart=0

于 2012-04-30T20:24:07.290 回答
0

发现了问题所在。它与 ajax 请求或 cpu 无关,这是因为引入了微小的滚动。显然,如果您正在滚动或要滚动,所有动画都将停止。

于 2012-05-01T16:57:41.750 回答