不能同时为 2 个对象设置动画
Can't animate 2 objects at the same time
所以我终于设法让我的对象正确移动和旋转。
现在我想同时移动和旋转2条线。但是,当创建新行时,较早的行将停止工作。尽管移动和旋转不再起作用,但对象仍然存在,值等仍然正确。
在检索有关 lineObject 的信息时,我得到了它们两个的唯一信息。
移动和旋转功能都被正确调用和循环。
创建新属性时,set 属性似乎已被破坏。
这里出了什么问题?
this.lineObject.setAttribute(parameters);
好像什么都没做。
问题在于如何在 Draw 函数中创建线标记。
当您使用 innerHTML 时,实质上是重新创建容器的全部内容。这意味着当您绘制第二条线时,您的第一条线将成为孤立元素,并会创建一个新元素取而代之。
相反,您应该使用 appendChild。参见 http://www.w3schools.com/jsref/met_node_appendchild.asp
此外,当您创建线条元素时,请查看 add a new line in svg, bug cannot see the line
否则你的线条将不可见。
如果不使用任何库,js 中的低级动画非常不舒服并且需要很多行代码。
也许 CSS3 可以帮到你?看到这个 tutorial.
我正在为您的案例编写示例。参见 plnkr
所以我终于设法让我的对象正确移动和旋转。
现在我想同时移动和旋转2条线。但是,当创建新行时,较早的行将停止工作。尽管移动和旋转不再起作用,但对象仍然存在,值等仍然正确。
在检索有关 lineObject 的信息时,我得到了它们两个的唯一信息。 移动和旋转功能都被正确调用和循环。
创建新属性时,set 属性似乎已被破坏。
这里出了什么问题?
this.lineObject.setAttribute(parameters);
好像什么都没做。
问题在于如何在 Draw 函数中创建线标记。 当您使用 innerHTML 时,实质上是重新创建容器的全部内容。这意味着当您绘制第二条线时,您的第一条线将成为孤立元素,并会创建一个新元素取而代之。
相反,您应该使用 appendChild。参见 http://www.w3schools.com/jsref/met_node_appendchild.asp
此外,当您创建线条元素时,请查看 add a new line in svg, bug cannot see the line 否则你的线条将不可见。
如果不使用任何库,js 中的低级动画非常不舒服并且需要很多行代码。 也许 CSS3 可以帮到你?看到这个 tutorial.
我正在为您的案例编写示例。参见 plnkr