0

我正在使用一些 CSS3 2D 转换为 Android 特定网络应用程序的菜单设置动画。

我使用 Javascript 插入动画参数,因为它们仅在触发 ontouchstart 函数后应用。

下面以动画第一部分的 javascript 为例:

function d1(){
        var d1=document.getElementById('d1');
        d1.style["-webkit-animation"] = "slide1";
        d1.style["-webkit-animation-duration"] = "3s";
        d1.style["-webkit-animation-iteration-count"] = "1";
        d1.style["-webkit-animation-fill-mode"] = "forwards";
        }

slide1这是动画的CSS3 :

     @-webkit-keyframes slide1 {
       0%{-webkit-transform:translateY(0) scaleY(0);}
       100%{-webkit-transform:translateY(122px) scaleY(1);}
     }

此代码正确显示动画,但是一旦动画的每个状态完成,它就会消失。根据我的阅读,这应该通过使用-webkit-animation-fill-mode:forwards或解决,-webkit-animation-iteration-count:1但这些似乎都不会在动画播放后停止/暂停动画。

有没有其他人遇到过类似的安卓问题?请帮忙。谢谢

4

2 回答 2

3

只需将其添加到您的 CSS 中。Android 不喜欢它被嵌套或简写。我试过了,对我来说效果很好,这就是我做所有 webKit 动画的方式。

@-webkit-keyframes slide1 {
    -webkit-transform: translateY(122px);
    -webkit-transform: scaleY(1);
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-duration: 3s;
}
于 2012-03-15T17:58:57.837 回答
0

您是否调查过您的动画是否返回到 0% 阶段,例如。将初始 scaleY 设置为 0.25 等?

此外,您可以测试所有可能的填充模式(无/向前/向后/两者)以查看它是否有效。

此外,建议(为了更好的性能)使用translate3d()而不是 translateX/Y。

于 2011-10-26T11:04:01.067 回答