动画效果如果追寻到底层的话,其实都是用一些延迟重复的函数重复执行某段代码实现的吗?
我是想着一些简单的过度效果可以用js的setTimeout来实现,这样可以解决兼容问题。
但是总感觉用setTimeout这类函数来做动画效果有点低效率。
动画效果如果追寻到底层的话,其实都是用一些延迟重复的函数重复执行某段代码实现的吗?
我是想着一些简单的过度效果可以用js的setTimeout来实现,这样可以解决兼容问题。
但是总感觉用setTimeout这类函数来做动画效果有点低效率。
你用setTimeout这个方法创造运动效果或者其它的效果,都会操作dom,当然会有一点效率低了啊。正如楼上所说的引擎,用引擎驱动的当然比你操作dom在去驱动浏览器的线程要好,不然耶不会创造transition等之类的了
13 回答12.8k 阅读
7 回答2k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答870 阅读✓ 已解决
6 回答911 阅读✓ 已解决
4 回答979 阅读✓ 已解决
浏览器有布局引擎(html/css),脚本引擎(js)等部分组成的
setTimeout是脚本引擎的范围
animation是布局引擎的范围
它们都是浏览器c/c++代码实现的,和js关系不大
-----------------------------补充1-------------------------------------
题主本意是要用js实现特效达到兼容性的效果是吧?
用js实现确实会比原生实现效率低很多。但是如果你一个页面同一时间就一两处有特效,这个就不是很重要了。
比如js比c慢3倍以上,但是做个页面的逻辑完全无影响。