2013-05-20 63 views
1

我正在製作一個導航中有許多翻滾圖像的網站原型。每張圖片都是唯一的,但翻轉和展示代碼是相同的。我正在嘗試創建一個可用於所有翻滾的單個符號,但需要一些幫助來解決這個問題,因爲這會顯着加快我的工作速度。如何動態更改Edge動畫符號中的圖像?

我覺得僞會這樣工作

  1. 創建一個包含默認鼠標經過圖像的象徵。
  2. 在符號中添加翻轉和轉出代碼。這調整透明度從0 - > 100並返回。
  3. 在nav中的每個項目上創建符號的實例。
  4. 對於每個實例,請設置一個變量,其中包含要使用的翻轉圖像的名稱。
  5. 在該符號實例中,獲取變量值。
  6. 在該符號實例中,使用變量中的圖像名稱替換默認圖像。

問題:我如何讓步驟4-6工作?我有1-3工作順利。


更新:我有第6解決

圖片都是由CSS background-image屬性,而不是老派<img src=...>管理。因此,要爲元素設置圖像,語法如下:

$(sym.lookupSelector("[ElementName]")).css('background-image', [image]); 

還有第二部分,它正在讓[圖像]正確。

  1. 使用邊緣圖像的默認相對URL:images/[image]
  2. 使用標準語法CSS的background-image:url(images/[image])

附:我最後的開發工作是Waaaaay與Director,PHP和ColdFusion。我仍然得到基本的原則,例如使用函數,對象,實例,繼承等,但是語言已經改變。而且我對DOM有很少的經驗。


附錄:我是如何做這手動

  1. 有淨資產值的顯示所有未被選中狀態

  2. 在導航每個項目都有一個的背景圖像相應的翻轉圖像,位於導航元素頂部的一系列元素中。每次翻轉具有最初設置爲0%的不透明度。

  3. 每個圖像元素都有翻轉,轉出和點擊觸發器。滾動和滾動觸發器對於每個觸發器都是相同的。還有一些更多的代碼用於快速淡出。這意味着大量複製相同的代碼。我討厭想想必須更改該代碼的任何部分。

回答

1

我得出了和你一樣的結論。

步驟4-5我這樣做:當我創建符號實例時,我給它一個特殊的名稱,如「button_image1」。 然後在你的代碼可以檢查該物業這樣做的:

var symbolElement = sym.getSymbolElement(); 
var id = symbolElement.attr("id") 
var tokens = id.split("_"); 
var image = tokens[1]; 

並設置正確的圖像作爲背景。

您可以將此代碼放置在符號的creation_complete事件上。