我设置了一个jsFiddle来说明我的问题。
我希望红色圆圈在动画期间保持在路径上。有没有“简单”的方法来做到这一点?
var r = Raphael(0, 0, "100%", "100%");
(function () {
var el = r.path("M0 100L200 100").attr({fill: "none"}),
elattrs = [{path: "M0 100L200 100"}, {path: "M0 100S100 150 200 100"}],
now = 1;
var set = r.set();
set.push(
el,
r.circle(100, 100, 5).attr({fill: 'red'}),
r.circle(50, 100, 5).attr({fill: 'red'}),
r.circle(150, 100, 5).attr({fill: 'red'})
);
r.circle(40, 40, 20).attr({fill: 'blue'}).click(function () {
el.stop().animate(elattrs[+(now = !now)], 1000, 'elastic');
});
})();
</p>