Fireworks软件中动态元件的基本制作及高级运用实例教程分享

2019-10-16 21:10:24王旭

//Widget.opCode会返回两个值:1 和 2 ,

//当动态元件被拖进画布时会返回 1(初始化),

//每当检测到用户改变了动态元件的属性就会返回 2(侦听变化);

switch (Widget.opCode){

case 1: setDefaultValues(); break;

case 2: applyCurrentValues(); break;

}

//初始化函数

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"});

//用内置方法给当前属性赋予初始值;

Widget.elem.customData["currentValues"] = values;

}

function applyCurrentValues(){

//取得当前值

var vals = Widget.elem.customData["currentValues"];

//获得 State 状态列表当前项的名称

var state = vals[1].value.split(",")[0].toString();

//遇到错误时可以用 alert(); 来Debug;

//alert(state);

//根据用户输入改变 label 标签的值

Widget.GetObjectByName("label").textChars = vals[0].value;

//根据用户在下拉列表选择项来显示或隐藏对应的按钮背景图;

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一下公用库、再重新把自定义动态元件拖进画布即可见到效果: