我正在开发一个chrome扩展程序,我试图通过javascript动画弹出窗口的大小。我在窗口加载时使用webkitRequestAnimationFrame来完成此任务。
调整大小按预期工作,但我看到了一个问题。有时弹出窗口会在调整大小时抖动(特别是右边距)。我还注意到,将它连接到工具栏中的扩展图标的小三角形锚点同时左右移动。
这是某种自动调整与chrome如何决定弹出窗口的锚点有关,还是我做错了什么?它有时只会发生。
感谢。
编辑1
使用chrome 34.0.1847.11 dev-m
编辑2
function animate (element, property, destination, duration, easing, callback) {
// defaults
easing = easings[easing] || easings.linear;
callback = callback || (typeof easing === 'function' ? easing : undefined);
// setup
var b = parseFloat(getComputedStyle(element)[property]),
d = duration,
v = parseFloat(destination),
c = v - b,
end;
// find value type
var suffix = destination.toString().replace(v, '');
// animation step
var step = function (t) {
if (!end)
end = d + t;
if (t < end) {
webkitRequestAnimationFrame(step);
} else {
t = end;
callback.call();
}
// set new value
element.style[property] = easing(d - end + t, b, c, d) + suffix;
};
// start animating
webkitRequestAnimationFrame(step);
}
animate(d.body, 'width', '300px', 200);