Fireworks动态元件的基本制作及高级运用(图文教程)

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

  }