Path Raphaeljs在特定间隔后恢复动画

Path Raphaeljs在特定间隔后恢复动画,path,jquery-animate,raphael,intervals,repeat,Path,Jquery Animate,Raphael,Intervals,Repeat,打开这把小提琴。有两条路径正在设置动画。深蓝色条根据经过的分钟设置动画,较小的绿色条根据秒设置动画。我想在动画完成后循环这些动画。我该怎么做 JS小提琴 ​ 我认为是相关的,但与你的不太一样。问题和答案一起包含针对您案例的解决方案:在动画结束时使用回调,将路径重置为原始路径并设置新动画 或者,使用每分钟/小时重置一次动画 window.onload= function aa () { var paper = Raphael(0, 0, 1900, 1900); var date

打开这把小提琴。有两条路径正在设置动画。深蓝色条根据经过的分钟设置动画,较小的绿色条根据秒设置动画。我想在动画完成后循环这些动画。我该怎么做

JS小提琴

我认为是相关的,但与你的不太一样。问题和答案一起包含针对您案例的解决方案:在动画结束时使用回调,将路径重置为原始路径并设置新动画

或者,使用每分钟/小时重置一次动画

window.onload= function aa () {

    var paper = Raphael(0, 0, 1900, 1900);
    var date = new Date;
    var hour = date.getHours();

    var mins = date.getMinutes();
    var secs = date.getSeconds();
    var secl = (60*60*1000)-(secs*1000);
    var minl = 60 - mins;
    var crx = 318*(mins/60);//sets width according to minutes passed when window is loaded

    var cry = 318*(secs/60);//sets width according to seconds passed when window is loaded
    var sec1 = (60-secs)*1000;

    var x=1;
    var y=1;

    var pathhh = "M"+x+","+y+" "+"h"+320+" "+"v"+270+" "+"h"+(-320)+"z";//bg
    var curbox = paper.path(pathhh).attr({fill:'315-#0299fa-#0473ba'});

    var pathh3 = "M"+(x+1)+","+(242+y)+" "+"h"+318+" "+"v"+27+" "+"h"+(-318)+"z";//black bar
    var cur1box = paper.path(pathh3).attr({fill:'black'});    

    var pathfm = "M"+(x+1)+","+(243+y)+" "+"h"+crx+" "+"v"+20+" "+"h"+"-"+crx+"z";//minutes bar
    var pathto = "M"+(x+1)+","+(243+y)+" "+"h"+318+" "+"v"+20+" "+"h"+(-318)+"z";
    var cu2box = paper.path(pathfm).attr({fill:'#03558b',stroke:'none'});
    cu2box.animate({path: pathto},secl);

    var patgfm = "M"+(x+1)+","+(265+y)+" "+"h"+cry+" "+"v"+4+" "+"h"+"-"+cry+"z"; //seconds bar
    var patgto = "M"+(x+1)+","+(265+y)+" "+"h"+318+" "+"v"+4+" "+"h"+(-318)+"z";
    var cu3box = paper.path(patgfm).attr({fill:'#0db1af',stroke:'none'});
    cu3box.animate({path: patgto},sec1);
};