在翻转时显示边框,并在单击时选择拇指并取消选择预选的拇指

时间:2010-06-23 05:44:46

标签: flex flash actionscript-3 flex3 flex4

我有一些小画布,我必须在它们周围显示边框,我使用翻转和滚动evenets,(这些画布保存产品图像),这里翻转和滚动工作完全正常,但当用户点击时一些画布,它必须被选中,意味着它已经显示了它周围的边框,休息画布应该正常工作。但是当我选择另一个画布时,先前选择的画布应该被取消选择,新点击的画布将获得选择,

但是在画布上应用了rollOut事件的问题,在点击画布时被选中,但是当rollOut发生时它取消选择画布,我甚至在点击画布时删除了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');
}

我希望有些事情在此清楚明确,是否有人对此有所帮助,请回复

提前致谢

Ankur sharma

2 个答案:

答案 0 :(得分:0)

实现点击发生时设置为true的“标志”变量怎么样?然后,当ROLL_OUT发生时,检查标志是true还是false。如果为true,则不要执行任何操作,如果为false,则删除/更改边框。

答案 1 :(得分: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');
                }
            }

我修改了自己的代码,为画布添加了一个名称属性

can.name="false"

它现在正在运作,

可以告诉我,如何在边框上放置一些选择和取消选择(一种淡化效果),当黑色选择被删除时,它会以一些淡入淡出的方式被删除,我们可以对边框应用淡入淡出效果吗?