javascript - Android浏览器难以停止无限CSS动画

标签 javascript android css animation webkit-animation

我在 Android 4.x 浏览器/ WebView 中停止或暂停动画时运气不佳。我将 -webkit-animation-iteration-count 设置为无限,在 Chrome/Safari 中停止它没有问题,但如果元素有动画子元素,它在 Android 中会失败。

我的 HTML:

<div id="css-container" onclick="stopAnim();">
    <div id="content">Content</div>
</div>

我的JS:

function stopAnim() {
    // cssContent.classList.toggle('css-container-anim');
    cssContainer.classList.toggle('css-container-anim');
}

var cssContainer = document.getElementById("css-container");
var cssContent= document.getElementById("content");

cssContainer.classList.toggle('css-container-anim');
cssContent.classList.toggle('css-container-anim');

您可以在这个 fiddle 中看到问题.如果我取消注释内容的停止(删除动画类),那么我可以停止动画。

我想这可能是我无法理解的冒泡问题?或者它是一个 Android 错误?我也尝试过直接通过 JS 操纵样式,并将 webkitAnimationPlayState 设置为暂停而不是更改类,但这没有任何改变。

请注意,fiddle 在 Android 上的 Chrome 中有效,但不适用于标准浏览器 - 由于 webview,我需要它。

最佳答案

我找不到任何来源来证实这一点,但我相信 div 可能不会发送 onclick触摸设备的事件。我在 http://jsfiddle.net/f2XaP/4/ 中创建了一个测试我在哪里处理 <a> 的 onclick它似乎适用于我的 iPhone。

关于javascript - Android浏览器难以停止无限CSS动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13057575/

相关文章:

javascript - 在选项卡上方显示 tbar

android - Android支持setjmp/longjmp、access、chdir、getcwd吗?

android - 如何从相机获取全尺寸位图?

html - 列 flex 重叠后的 IE 11 元素

javascript - 如何使用 jquery 模板化 json

javascript - 为什么 "for in"可以在 JS 中使用 const?

javascript - jquery 选择元素

html - 如何嵌入外部html并更改css样式?

javascript - 将 ruby​​ 数组转换为 javascript 数组无法正常工作

java - 在异步线程中解析时出现 fatal error (AsyncTask.doInBackground())