2010-06-23 32 views
0

我有一些小画布,我必须显示他们周围的边框,我使用翻转和展开evenets,(这些画布持有产品图像),这里的滚动和转出工作都很完美,但是当用户点击某个画布时,它必须被选中,意味着它已经显示了它的边框,并且其余画布应该正常工作。但是当我选择另一个画布时,以前选择的画布应该被取消选中,并且新点击的画布会获得选区,但是,如果在画布上应用了rollOut事件,部署需要将其取消选择画布上,我甚至取消了对画布的点击部署听者中,但在这种情况下,点击画布不会得到未选中,当其他的帆布被点击显示翻转边框,并选择拇指点击并取消选择预先选择的拇指

can.addEventListener(MouseEvent.ROLL_OVER,onRollOverThumb); 
can.addEventListener(MouseEvent.ROLL_OUT,onRollOutThumb); 
//can.addEventListener(MouseEvent.CLICK,onRollOverThumb); 


private function onRollOverThumb(event:MouseEvent):void 
{ 
event.target.setStyle('borderColor','0x000000'); 
    event.target.setStyle('borderThickness','3'); 
    event.target.setStyle('borderStyle','solid'); 
} 


private function onRollOutThumb(event:MouseEvent):void 
{ 
    event.target.setStyle('borderColor','0xCCCCCC'); 
    event.target.setStyle('borderThickness','1'); 
    event.target.setStyle('borderStyle','solid'); 
} 

我希望有这件事情很清楚,请问你有没有在这方面做过工作,请回复

Tha提前NKS

ANKUR夏尔马

回答

0
private function onRollOverThumb(event:MouseEvent):void 
      { 
       if(event.type=='click') 
       { 
        for(var j:int=0;j<viewparent.numChildren;j++) 
        { 
         viewparent.getChildAt(j).name="false"; 
        } 
        event.currentTarget.name="true"; 
        for(var i:int=0;i<viewparent.numChildren;i++) 
        { 
         if(viewparent.getChildAt(i).name=="true") 
         { 
          Canvas(viewparent.getChildAt(i)).setStyle('borderColor','0x000000'); 
          Canvas(viewparent.getChildAt(i)).setStyle('borderThickness','3'); 
          Canvas(viewparent.getChildAt(i)).setStyle('borderStyle','solid'); 
         } 
         else 
         { 
          Canvas(viewparent.getChildAt(i)).setStyle('borderColor','0xCCCCCC'); 
          Canvas(viewparent.getChildAt(i)).setStyle('borderThickness','1'); 
          Canvas(viewparent.getChildAt(i)).setStyle('borderStyle','solid'); 
         } 
        }  
       } 
       else 
       { 
        event.currentTarget.setStyle('borderColor','0x000000'); 
        event.currentTarget.setStyle('borderThickness','3'); 
        event.currentTarget.setStyle('borderStyle','solid'); 
       } 
      } 
      private function onRollOutThumb(event:MouseEvent):void 
      { 
       if(event.currentTarget.name=="false") 
       { 
        event.currentTarget.setStyle('borderColor','0xCCCCCC'); 
        event.currentTarget.setStyle('borderThickness','1'); 
        event.currentTarget.setStyle('borderStyle','solid'); 
       } 
      } 

我修改自己的代码,添加一个name属性的画布

can.name="false" 

和它现在的工作,

可以甲肾上腺素一个告诉我,如何把一些选择和取消选择(一种淡入淡出效果),当黑色选择被删除时,它会以某种淡入淡出的方式被删除,我们可以对边界应用淡入淡出效果吗?

0

怎么样实现的时候发生点击被设置为true“标志”变量。然后,当ROLL_OUT发生时,检查标志是真还是假。如果属实,请不要做任何事情,如果为假,请移除/更改边框。

+0

ryt,我曾经使用过,但我会再试一次,thanx – 2010-06-23 06:32:48

+0

thanx,这个概念是当然的 – 2010-06-23 07:57:14

相关问题