2010-11-05 116 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