|
主题: 众斑竹,请教一个很笨的问题
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
注册:2003/1/9 14:49:15
|
#12003/1/21 12:40:53
一组按钮,如何能让无论其中哪一个只被点一次?再点其他按钮时,之前被点的一个能够激活?
|
 金山羊
职务:普通成员
等级:4
金币:10.0
发贴:827
注册:2002/1/6 14:44:13
|
#22003/1/21 12:46:06
不太明白你的意思?你到底要干什么不清楚
5d.cn FLASHDEP TECHNOLOGY SUPPORT JAVA/ACTIONSCRIPT/javascript CFML/JSP/COLDFUSION/FLASH REMOTING JRUN/COLDFUSIONMX FLASH/DREAMWEARER
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
注册:2003/1/9 14:49:15
|
#32003/1/21 13:00:48
一组按钮,其中任何一个被点一次之后,就不能再点第二次,因为每点一次,我的函数就执行一次,结果就不对了。 我说明白了么?
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
|
#42003/1/21 13:24:09
在onrelease事件中把自己disable掉
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
注册:2003/1/9 14:49:15
|
#52003/1/21 13:32:56
那点其他的按钮时,怎么激活呢?
|
 s22
职务:版主
等级:4
金币:10.0
发贴:1634
注册:2004/12/19 13:06:46
|
#62003/1/21 14:14:05
_btn.onPress=function(){ if(!_root.lasClick){ _root.lastClick=this; this.enabled=0; }else{ _root.lastClick.enabled=1; _root.lastclick=this; _root.lastclick.enabled=0 } //code here }  是不是这样。
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
注册:2003/1/9 14:49:15
|
#72003/1/21 14:43:50
看不懂! _btn.onPress=function(){
if(!_root.lasClick){ _root.lastClick=this; //这个this 是啥意思?为什么要这样写?是对象还是变量? this.enabled=0; }else{ _root.lastClick.enabled=1; _root.lastclick=this; _root.lastclick.enabled=0 } //code here }
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
|
#82003/1/21 14:48:23
就是当前对象。可以认为它是一个指向当前对象的指针
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
注册:2003/1/9 14:49:15
|
#92003/1/21 16:48:19
 怎么用?按钮怎么还是能用?
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
注册:2003/1/9 14:49:15
|
#102003/1/21 16:55:13
可不可以通过一个循环来做?跳过当前点击的按钮,使当前按钮的enabled=flase,使其他的按钮的enabled=true。 我的按钮命名是有规则的。这样做成么?我还没成功。
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
|
#112003/1/21 17:19:27
用循环速度更快。 在循环体内不要区分哪个是自己,哪个是其他。先一律enabled=true,循环完了再this.enabled=false 这是一个高效循环的技巧
|
 5D荣誉版主
职务:普通成员
等级:2
金币:1.0
发贴:515
注册:2004/1/23 23:18:37
|
#122003/1/21 17:27:05
按命名规则的: 比如:b1,b2....b5 for(i=1;i<=5;i++){ eval("b"+i).onRelease=function(){ for(i=1;i<=5;i++){ eval("b"+i).enabled=true } this.enabled=false } }
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
注册:2003/1/9 14:49:15
|
#132003/1/21 18:51:31
253!你们的方法都行。敬佩! mmommo斑竹:我很喜欢你这样的代码结构,不过当我用了这种方法后,却发现b1,b2,b3...这样点下去,回头再点b1,b2,b3...的时候,虽然enable=true,却不起作用。 我的代码是这样的: function ddd(){ for(i=1;i<=5;i++){ _root["b"+i].onRelease=function(){ for(i=1;i<=5;i++){ _root["b"+i].enabled=true } this.enabled=false } } }
b1.onRelease=function(){ _root.mc.gotoAndStop("label 1") ddd() } 我哪里错了?
|
 UndeadCraft
职务:版主
等级:4
金币:10.0
发贴:1993
注册:2001/5/28 17:37:43
|
#142003/1/21 20:43:03
不行就用笨方法 点这个按钮的同时,把自己设成enable=false;其它都设成true;只是麻烦了点
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
注册:2003/1/9 14:49:15
|
#152003/1/21 21:03:38
地狱天堂在上个帖子中说 引用: 不行就用笨方法 点这个按钮的同时,把自己设成enable=false;其它都设成true;只是麻烦了点
各位斑竹的办法都是行的,我想可能是我在哪一步错了,目前,我用的是s22的方法,不过这位老哥的代码我有点晕,所以更想看看mmommo的代码,我觉得更亲和一点。另外,老兄,我可有100多个按钮阿。
|