我在动画中看到一个恼人的摇晃,我已经删除了包含实际动画的代码:
var side = 400;
var paper = new Raphael($(this), 100, side);
paper.customAttributes.arc = function (xloc, yloc, value, total, R) {
var alpha = 360 / total * value,
a = (90 - alpha) * Math.PI / 180,
x = xloc + R * Math.cos(a),
y = yloc - R * Math.sin(a),
path;
if (total == value) {
path = [
["M", xloc, yloc - R],
["A", R, R, 0, 1, 1, xloc - 0.01, yloc - R]
];
} else {
path = [
["M", xloc, yloc - R],
["A", R, R, 0, +(alpha > 180), 1, x, y]
];
}
return {
path: path
};
};
var arcWidth = 180 - 120;
var strokeRadius = (120 + arcWidth/2);
var indicatorArc = paper.path().attr({
"stroke": "#4B6384",
"stroke-width": 100,
arc: [side/2, side/2, 0, 100, strokeRadius]
});
indicatorArc.animate({
arc: [side/2, side/2, 75, 100, strokeRadius]
}, 1500, "<>", function(){
// anim complete here
});
我已经把它放在一个jsfiddle中供你自己查看,请检查firefox和chrome,你会注意到chrome的边缘有很大的摆动,有什么办法可以消除这个吗?
在这里摆弄:run many times
答案 0 :(得分:1)
所以我知道这已经超过两年了,但如果有人遇到这个问题,那就是Chrome 2D绘图引擎中的一个已知错误。