Raphaeljs间隔后动画路径
我有一个路径,我想动画每5秒。我在下面的代码中尝试使用setInterval,但它不断复制画布。有更简单的解决方案吗?Raphaeljs间隔后动画路径
JS小提琴Link
window.onload= function aa() { paper = Raphael(0,0,900,900);
var p=paper.path("M10,10 h20 v10 h-20z");
p.animate({path:"M10,10 h300 v10 h-300z"},5000);
//window.setInterval(aa(), 5000);
}
回答:
你都在重复着整个aa
函数初始化拉斐尔纸(paper = Raphael(0,0,900,900);
)。这就是为什么你的画布被复制。
此外,最好使用回调(您可以在animate
上看到the docs)而不是setInterval
来触发您的动画。
这是我会怎样代码时:
function init(){ var paper = Raphael(0, 0, 900, 900),
pathsString = ["M10,10 h20 v10 h-20z","M10,10 h300 v10 h-300z"],
p = paper.path(pathsString[0]),
animationCounter = 0,
animationDuration = 5000,
animate = function(){
animationCounter++;
p.animate({path : pathsString[animationCounter %2]}, animationDuration, animate);
};
animate();
};
window.onload = init;
下面是上面代码的a working example。
以上是 Raphaeljs间隔后动画路径 的全部内容, 来源链接: utcz.com/qa/257564.html