当requestAnimationFrame(callback);改变图像的宽度?重涂或回流
What occurs when requestAnimationFrame(callback); changes width of an image? repaint or reflow?
我读过一些关于回流和修复的主题,这是我设法理解的。
当对元素外观进行更改时,将发生重绘改变可见性,但不影响布局。
当元素的布局发生变化时,会发生回流。
无论如何,当
window.requestAnimationFrame(回调);
更新选定的图像元素改变它的宽度发生重绘或回流。在MDN中,回调参数描述为:
一个参数,指定在下次重绘时更新动画时调用的函数。
那么最终会发生什么,回流还是重新粉刷?
下面是我的问题的一个例子:
var jediImg = document.getElementById('jedi-image');
jediImg.src = 'images/jedi-image.jpg';
jediImg.width = 400;
var times = 20,
update = -1;
var isJediVisible = true;
function animationFrame() {
if (isJediVisible) {
jediImg.width = 0;
} else {
jediImg.width = 400;
}
isJediVisible = !isJediVisible;
jediImg.width = (20 - times) * 50;
times += update;
if (times === 0) {
update = 1;
}
if (times == 20) {
update = -1;
}
requestAnimationFrame(animationFrame);
}
animationFrame();
谢谢你的回答。
改变width
将触发回流和油漆。
相关文章:
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- 骨干's Router.execute(callback,args,name)方法获取未定义的名称
- Error: timers.js:234 callback.apply(timer, args);
- 在promise中返回callback()和callback(
- jquery .find callback
- ESLint prefer-arrow-callback on array.map
- NodeJS Callback
- Select2 callback function when
- 无法使用callback-javascript获取值
- JQuery callback...?
- Callback after $.get?
- 使用 Callback 将 PHP 变量传递给 JavaScript
- Javascript window.open file download callback
- 一个可翻译成JavaScript的脚本,带有callback-hell自动避免器
- jQuery '.click(callback)' 阻止默认事件
- Javascript callback for Sencha Touch proxy
- XMLHttpRequest response alter callback
- GetComputedStyle In Ajax Callback
- Twitter Web Intent on-close callback?
- "callback is not the function" and function.apply(