关于文本的问题,急需!请大家帮帮忙
点击一个元件,让一个文本框出现,再点击元件,文本框隐藏!
有5个元件名字分别为:nbts_mc,dwpt_mc,xgxt_mc,dspt_mc,imep_mc;
对应的text名字为:nbts_txt,dwpt_txt,xgxt_txt,dspt_txt,imep_txt;
这是我的方法:
var myArray:Array =["nbts","dwpt","xgxt","dspt","imep"];
for each(var item in myArray){
this[item+"_txt"].visible = false;
}
for(var i:String in myArray){
this[myArray[i]+"_mc"].addEventListener(MouseEvent.CLICK, mcClick);
}
function mcClick(event:MouseEvent):void{
var mcName:String = event.target.name;
var mcNameLength:int = event.target.name.length;
var txtName:String = mcName.substring(0,mcNameLength-3)+"_txt";
if(txtName == "imep_txt"){
txtName = "imep1_txt";
}
if(txtName.visible){
txtName.visible = false;
}
else{
txtName.visible = true;
}
}
但是会出错,未定义visible属性.
为什么this[item+"_txt"].visible = false;这里可以用而下面txtName.visible却会出错?
请问有什么办法可以解决????
急需,在线等!!!!!!!!!!!!!!请大家帮帮忙
[解决办法]
txtName:String 你定义了一个字符串,没有visible 很自然的
var myArray:Array =["nbts","dwpt","xgxt","dspt","imep"];for each (var item in myArray) { this[item+"_txt"].visible = false;}for(var i:String in myArray){;this[myArray[i] + "_mc"].addEventListener(MouseEvent.CLICK, mcClick);}function mcClick(event:MouseEvent):void {var mcName:String = event.target.name;var mcNameLength:int = event.target.name.length;var txtName:String= mcName.substring(0,mcNameLength-3)+"_txt";[color=#FF0000]if (txtName == "imep_txt") { if (imep_txt.visible) { imep_txt.visible = false; } else { imep_txt.visible = true; }}[/color]}
[解决办法]
可以这样:imep_txt.visible=!imep_txt.visible;