Jus*_*tin 4 javascript animation callback set raphael
我有一套动画拉斐尔SVG元素.我正在添加新元素并使用用户启动的ajax调用删除旧元素.我set.push()新元素,但因为我需要删除的元素通常不是集合中的最后一个元素,我使用的是element.remove()而不是set.pop().这会在集合中留下一个已删除的元素,当我调用set.animate()时,会导致不调用动画回调方法.也许这是Raphael 1.5.2中的一个错误.
jsFiddle示例:http://jsfiddle.net/G7fAQ/
有没有更好的方法来删除动画集中引用的元素?或者我只需要在调用element.remove()时手动管理set.items数组,set.length变量和设置元素?
谢谢
要从数组中删除元素(set毕竟这是拉斐尔的元素),您可以使用该splice函数.
如果你知道数组中元素的索引,那么就像这样简单:
set.items.splice(index);
Run Code Online (Sandbox Code Playgroud)
这将从数组中删除索引元素.splice返回已删除的元素,因此如果您需要remove()它或在屏幕上设置动画,您可以.
编辑:splice接受两个参数,要删除的数组中的索引,以及要删除的元素数量(以及要添加到数组的成员的任意数量的附加参数,这里不需要).
代码应为:
set.items.splice(index, 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5158 次 |
| 最近记录: |