javascript - 像css的transition和animation这类动画效果其实都是用setTimeout之类的函数来实现的吗?

查看:101
本文介绍了javascript - 像css的transition和animation这类动画效果其实都是用setTimeout之类的函数来实现的吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

动画效果如果追寻到底层的话,其实都是用一些延迟重复的函数重复执行某段代码实现的吗?
我是想着一些简单的过度效果可以用js的setTimeout来实现,这样可以解决兼容问题。
但是总感觉用setTimeout这类函数来做动画效果有点低效率。

解决方案

浏览器有布局引擎(html/css),脚本引擎(js)等部分组成的

setTimeout是脚本引擎的范围
animation是布局引擎的范围
它们都是浏览器c/c++代码实现的,和js关系不大

-----------------------------补充1-------------------------------------

题主本意是要用js实现特效达到兼容性的效果是吧?
用js实现确实会比原生实现效率低很多。但是如果你一个页面同一时间就一两处有特效,这个就不是很重要了。
比如js比c慢3倍以上,但是做个页面的逻辑完全无影响。

这篇关于javascript - 像css的transition和animation这类动画效果其实都是用setTimeout之类的函数来实现的吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆