2010-11-05 139 views
4

我一直在试图嵌套集内但无济于事。嵌套拉斐尔的套在拉斐尔为拉斐尔设置的JavaScript库

这个概念来自photoshop,您可以在其中将元素分组到一个文件夹/集合中,并将它们嵌套到另一个文件夹/集合中。

我试图将两个或多个集合轻松地合并为一个,因此我不必手动将所有内容都分开以再次集成代码。

这一步是让集体行为控制的方式,例如,鼠标悬停,点击,翻译和转换。

有没有人遇到过这个问题,并找到了解决这个问题的方法? 任何帮助解决这个问题表示赞赏。

为了阐述,这里有我想要做一些人为的例子代码:

var r = Raphael("holder"); 
r.height = 400 
r.width = 300 

var buttons = r.set(); 
var target_objects = r.set(); 

buttons.push(
    r.rect(0,0,r.width/10,r.height/10).attr({fill:"#000"}) 
); 

target_objects.push(
    r.rect(50,50,r.width/5,r.height/5).attr({fill:"#0F0"}) 
); 

var super_set = r.set(); 

# Trying to combine sets. Note: this of course doesn't work 
super_set.push(buttons,target_objects); 

super_set.mouseover(function(){ 
    alert(); 
}); 
+0

你是什么意思? Set可以嵌套到另一个集合中,没有问题。显示不起作用的代码。 – 2010-11-05 11:09:33

+0

我查看了Raphael参考页面,以及在网络上搜索类似问题的解决方法。没有人似乎有答案,或者我不善于查找参考。我编辑了这个问题,以包含一个关于我想要做什么的示例代码。谢谢。 – VKen 2010-11-05 15:48:58

+0

即使您的代码正常工作,您也不会创建嵌套集合。你想要嵌套吗?还是你想拼接两套? – 2010-11-06 01:03:49

回答

6

正如梅德指出,台可以推到其他组,所以你的代码应工作。 Try it out with this jsFiddle.

+1

谢谢,这正是我需要的! “ – VKen 2010-11-06 06:20:35

+0

”这些项目不能是其他集合“不,他们可以是其他集合。这是重点! – 2010-11-10 09:40:18

+0

@Dmitry - 你说得对。我以为我曾尝试过,不会猜测。希望文档对此有所参考。 – 2010-11-10 14:22:06