代碼:
//Widget.opCode會返回兩個值:1 和 2 , //當(dāng)動態(tài)元件被拖進畫布時會返回 1(初始化), //每當(dāng)檢測到用戶改變了動態(tài)元件的屬性就會返回 2(偵聽變化); switch (Widget.opCode){ case 1: setDefaultValues(); break; case 2: applyCurrentValues(); break; }
//初始化函數(shù) function setDefaultValues(){ var values = new Array();
//建立 Label 和 State 屬性,并賦予初始值; values.push({ name:"Label", type:"text", value:"My Button" }); values.push({ name:"State", type:"ComboBox", value:"normal,normal,mouseOver,mouseDown,unavailable"});
//用內(nèi)置方法把初始值記錄起來; Widget.elem.customData["currentValues"] = values; }
function applyCurrentValues(){ //取得當(dāng)前值 var vals = Widget.elem.customData["currentValues"]; //獲得 State 狀態(tài)列表當(dāng)前項的名稱 var state = vals[1].value.split(",")[0].toString();
//遇到錯誤時可以用 alert(); 來Debug; //alert(state);
//根據(jù)用戶輸入改變 label 標(biāo)簽的值 Widget.GetObjectByName("label").textChars = vals[0].value; //根據(jù)用戶在下拉列表選擇項來顯示或隱藏對應(yīng)的按鈕背景圖; Widget.GetObjectByName("normal").visible = (state=="normal"); Widget.GetObjectByName("mouseOver").visible = (state=="mouseOver"); Widget.GetObjectByName("mouseDown").visible = (state=="mouseDown"); Widget.GetObjectByName("unavailable").visible = (state=="unavailable"); }
8.輸入完代碼后保存(注意要存為 ANSI 編碼),然后進入 Fireworks 新建文件、Reload一下公用庫、再重新把自定義動態(tài)元件拖進畫布即可見到效果:
經(jīng)典論壇交流:http://bbs.blueidea.com/thread-2993506-1-1.html
本文鏈接:http://m.95time.cn/tech/graph/2010/7848.asp
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁 用firework創(chuàng)建動態(tài)元件(二) [1] 下一頁
◎進入論壇Photoshop、Fireworks版塊參加討論,我還想發(fā)表評論。
|