问题 拉斐尔订购物品


我正在尝试订购Raphael物品。我没有选择决定何时创建对象的选项,但是我想让一组对象在创建后出现在一组其他对象后面。任何人都可以帮我这样做吗?

谢谢。


7656
2017-12-09 00:34


起源



答案:


将您的项目分为两部分  并使用相对于彼此定位集合 的insertBefore 要么 insertAfter

var front = paper.set();
front.push(front1, front2);

var back = paper.set();
back.push(back1, back2);

front.insertBefore(back);

此外,如果你有数组中的项目,你可以使用 apply 为了方便:

var frontItems = [front1, front2];
front.push.apply(null, frontItems);

12
2017-12-09 00:45





您可以使用 toBackhttp://raphaeljs.com/reference.html#toBack

无论何时创建对象,它都会将对象置于其他对象后面。


3
2017-12-09 00:37



不幸的是,这对我不起作用。有些背景物品需要保留在前面,我正在尝试安排前景物体。有太多的背景对象使重复使用toBack变得可行。 - So8res


答案:


将您的项目分为两部分  并使用相对于彼此定位集合 的insertBefore 要么 insertAfter

var front = paper.set();
front.push(front1, front2);

var back = paper.set();
back.push(back1, back2);

front.insertBefore(back);

此外,如果你有数组中的项目,你可以使用 apply 为了方便:

var frontItems = [front1, front2];
front.push.apply(null, frontItems);

12
2017-12-09 00:45





您可以使用 toBackhttp://raphaeljs.com/reference.html#toBack

无论何时创建对象,它都会将对象置于其他对象后面。


3
2017-12-09 00:37



不幸的是,这对我不起作用。有些背景物品需要保留在前面,我正在尝试安排前景物体。有太多的背景对象使重复使用toBack变得可行。 - So8res