【发布时间】:2017-11-19 03:35:02
【问题描述】:
我现在正在使用 Javascript、Jquery、SVG 和 SVG.js。我想在动画制作时围绕其原点旋转一个圆圈。动画正在做同样的事情,所以我可以使用某种步进函数,但我找不到任何东西。问题是我目前的解决方案动画很卡,它必须停止动画,旋转圆圈,然后重新开始。这依次具有太多延迟并导致摆动运动。这是设置代码:
var draw = SVG('svg');
var innerCircle = draw.group().addClass("atom0g0").move(100,100);
innerCircle.circle(100).addClass("atom0p0").center(0, 0).attr({ fill: "white", stroke: "blue", "stroke-dasharray": "10" });
innerCircle.animate(6000).rotate(360, 0, 0).loop();
我现在需要更改的执行代码在这里:
var elms = $(".atom"+atom.atom_id.toString()+"g0");
for (var j=0; j < elms.length; j++) {
// this is the problem, too much of a delay, therefore causing a wiggle motion.
elms[j].instance.animate().stop();
elms[j].instance.rotate(step, 0, 0);
elms[j].instance.animate(6000).rotate(360, 0, 0).loop();
}
这是我现在正在开发的 CodePen:Current Version 或 Bugged Version
简而言之(如果您只是在这里跳到最后)我需要在不完全停止圆圈动画的情况下旋转一个圆圈。我知道play()、pause() 不起作用,因为我不能在动画暂停时调用rotate()。
【问题讨论】:
-
如果您添加包含 HTML、CSS 和 JS 的 CodePen 示例,您可以更好地描述您的问题,以便人们可以快速回答。
-
@BhaveshB 我为你添加了 CodePen 链接,谢谢。
-
我还需要澄清一下,你是想让红球在它的路径也在旋转的同时绕着黑色旋转,还是你想让红球在绕着黑色旋转的同时也绕着它自己旋转?
-
您的 CodePen 至少在我测试它的 Chrome 和 Firefox 中不起作用。请提供一个可用的 CodePen,然后有人可以帮助你。
-
它可能不是动画,我之前在处理它时偶然注释掉了那条线。它适用于 Chrome 对我来说很好。试试这个,codepen.io/Piist300/pen/LOqvZo
标签: javascript jquery animation svg svg.js