Raphaël JS 中的循环动画
Loop animation in Raphaël JS
这是 Raphaël JS JavaScript 库中的一个简单动画。
该函数绘制一个字段,然后输出一个粉红色矩形的对象。
当您点击 "gray" 按钮时,粉红色矩形开始水平移动。粉色矩形移动,一旦到达预定位置便停止。
我需要帮助的是:
1: 使粉色矩形return回到起始位置。
2:循环播放动画,使粉色矩形来回移动。
我试图通过在 "x:-1" 之后添加 "x: 0" 来解决这个问题,但没有成功。如您所见,我还将重复设置为无穷大,但也没有成功。
领域:
var p = Raphael(0, 0, 240, 140);
p.rect(0,0,240,70);
onclick触发按钮和函数:
p.rect(130, 80, 50, 25)
.attr({
fill : "grey",
"stroke-width" : 1
})
.click(function(){
pinkRect.animate({
repeat: "Infinity",
x:-1,
}, 2000);
});
你需要使用animate方法的回调函数,让它自己调用,因为你实际上有2个动画。所以关键位是下面的第二位...
p.rect(130, 80, 50, 25)
.attr({
fill : "grey",
"stroke-width" : 1
})
.click( animPink );
function animPink() {
var x = pinkRect.attr('x') < 0 ? 150 : -1;
pinkRect.animate({ x: x }, 2000, animPink);
};
jsfiddle 点击第三个灰框
这是 Raphaël JS JavaScript 库中的一个简单动画。 该函数绘制一个字段,然后输出一个粉红色矩形的对象。 当您点击 "gray" 按钮时,粉红色矩形开始水平移动。粉色矩形移动,一旦到达预定位置便停止。
我需要帮助的是:
1: 使粉色矩形return回到起始位置。
2:循环播放动画,使粉色矩形来回移动。
我试图通过在 "x:-1" 之后添加 "x: 0" 来解决这个问题,但没有成功。如您所见,我还将重复设置为无穷大,但也没有成功。
领域:
var p = Raphael(0, 0, 240, 140);
p.rect(0,0,240,70);
onclick触发按钮和函数:
p.rect(130, 80, 50, 25)
.attr({
fill : "grey",
"stroke-width" : 1
})
.click(function(){
pinkRect.animate({
repeat: "Infinity",
x:-1,
}, 2000);
});
你需要使用animate方法的回调函数,让它自己调用,因为你实际上有2个动画。所以关键位是下面的第二位...
p.rect(130, 80, 50, 25)
.attr({
fill : "grey",
"stroke-width" : 1
})
.click( animPink );
function animPink() {
var x = pinkRect.attr('x') < 0 ? 150 : -1;
pinkRect.animate({ x: x }, 2000, animPink);
};
jsfiddle 点击第三个灰框