Javascript 如何使用捕捉SVG在路径上设置动画?
我正在尝试使用snap.svg创建动画 我已经创建了一条南北线和一个圆。我正在尝试沿从下到上的两条路径设置圆的动画Javascript 如何使用捕捉SVG在路径上设置动画?,javascript,jquery,animation,svg,snap.svg,Javascript,Jquery,Animation,Svg,Snap.svg,我正在尝试使用snap.svg创建动画 我已经创建了一条南北线和一个圆。我正在尝试沿从下到上的两条路径设置圆的动画 var north_line = paper.path("M335.8 137.6v163.1").attr({ id: "north", fill: "#fff", strokeWidth: "5", stroke: "#000" }); var south_line = paper.path("M334.3 398v163.2").attr({ id: "
var north_line = paper.path("M335.8 137.6v163.1").attr({
id: "north",
fill: "#fff",
strokeWidth: "5",
stroke: "#000"
});
var south_line = paper.path("M334.3 398v163.2").attr({
id: "south",
fill: "#fff",
strokeWidth: "5",
stroke: "#000",
"stroke-dashoffset": bot_line
});
目前我有动画工作,但圆是从线的顶部开始动画,而不是从线的下方开始动画,我如何更改方向
var greenCircle = paper.circle(32,32,8);
greenCircle.attr({
fill: "#FF5252",
strokeWidth: 14
});
setTimeout( function bottom() {
Snap.animate(0, bot_line, function( value ) {
movePoint = south_line.getPointAtLength( value );
greenCircle.attr({ cy: movePoint.y, cx: movePoint.x });
// move along path via cx & cy attributes
}, 700,mina.easeinout);
});
这把小提琴应该能让我更清楚地了解我想要实现的目标
我正在尝试创建几个圆,并让它们在顶部的路径上重复设置动画。使用循环是实现这一点的最佳方法吗?创建多个圆,然后使用间隔在路径上设置它们的动画
非常感谢您的指导
谢谢尝试在
Snap中交换0
和bot\u行
。设置动画
setTimeout(function bottom() {
Snap.animate(
bot_line, // <==
0, // <==
function(value) {
movePoint = south_line.getPointAtLength(value);
greenCircle.attr({ cy: movePoint.y, cx: movePoint.x });
},
700,
mina.easeinout
);
});
setTimeout(函数底部(){
捕捉动画(
bot\u line,//尝试在Snap.animate中交换0
和bot\u line
setTimeout(function bottom() {
Snap.animate(
bot_line, // <==
0, // <==
function(value) {
movePoint = south_line.getPointAtLength(value);
greenCircle.attr({ cy: movePoint.y, cx: movePoint.x });
},
700,
mina.easeinout
);
});
setTimeout(函数底部(){
捕捉动画(
bot_line,//至于方向问题,您可以将南线的坐标从M334.3 398v163.2
更改为M334.3 561.2v-163.2
(561.2为398+163.2,163.2为负数则相反)。这里有一个关于使用Snap.svg重复动画的问题:至于方向问题,您可以将南线的坐标从M334.3 398v163.2
更改为M334.3 561.2v-163.2
(561.2为398+163.2,163.2为负数则相反)。这里有一个关于使用Snap.svg重复动画的问题: