版本为vue2.3,源码如下:
var raf = inBrowser && window.requestAnimationFrame
? window.requestAnimationFrame.bind(window)
: setTimeout;
function nextFrame (fn) {
raf(function () {
raf(fn);
});
}
这个nextFrame似乎是延迟了两帧然后触发fn进行重绘,这个情况下有时候动画会有一个抖动,但是改为下面代码的话,在下一帧就开始动画,动画抖动似乎就消失了,请问上面这样写的用意是什么?
function nextFrame (fn) {
raf(function () {
fn();
});
}
aluckdog
相关分类