Chrome扩展程序浏览器操作弹出式抖动

时间:2014-02-27 11:08:14

标签: javascript google-chrome-extension popup

我正在开发一个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);

0 个答案:

没有答案