首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新设置CSS动画的高性能方法

重新设置CSS动画的高性能方法
EN

Stack Overflow用户
提问于 2016-05-12 07:26:38
回答 1查看 159关注 0票数 0

小提琴:https://jsfiddle.net/fkvqk0on/1/

我正在写一个Cordova应用程序,有一个按钮,每次你点击它都会弹出。我还想让它在滑动后弹出,所以我编写了一个系统,从JavaScript调用动画。在这里,它目前是如何工作的:

  • 有一个弹出的CSS动画
  • 在滑动时,JS向按钮中添加一个类,该按钮为其提供动画。
  • 下次有一个滑动,JS删除类,然后再添加它

这个系统在我的电脑上运行得很好,但在我的手机上却很慢。有时它不能动画,如果我连续几次滑动!我如何使一个更优化的系统来做到这一点?

代码语言:javascript
复制
var target = document.getElementById("textTarget");
var button = document.getElementById("button");

function pop() {
  target.classList.remove("popAnimation");
  setTimeout(function() {
    target.classList.add("popAnimation");
  }, 10);
}

button.onclick = pop;
代码语言:javascript
复制
.popAnimation {
  animation: popKeyframes 200ms linear both;
}

@keyframes popKeyframes {
  50% {
    transform: scale(1.2);
  }
}
代码语言:javascript
复制
<script src="https://leaverou.github.io/prefixfree/prefixfree.js"></script>

<p id="textTarget">
  Here is the animation target.
</p>

<button type="button" id="button">Animate</button>

EN

回答 1

Stack Overflow用户

发布于 2016-05-12 08:05:50

通过将这个CSS添加到类中,您将触发硬件加速,从而提高动画的性能。

代码语言:javascript
复制
-webkit-transform: translateZ(0);
   -moz-transform: translateZ(0);
   -ms-transform: translateZ(0);
   -o-transform: translateZ(0);
   transform: translateZ(0);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37180048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档