показывать границу при переносе и выделять большой палец при щелчке и отменять выбор предварительно выбранного большого пальца

#apache-flex #flash #actionscript-3 #flex3 #flex4

#apache-flex #flash #actionscript-3 #flex3 #flex4

Вопрос:

У меня есть небольшой холст, и я должен показать границы вокруг них, я сделал это с помощью rollover и rollout evenets (на этих холстах хранятся изображения продуктов), здесь перенос и развертывание работают отлично, но когда пользователь нажимает на какой-то холст, он должен быть выбран, это означает, что вокруг него отображается граница, а остальной холст должен работать в обычном режиме. но когда я выбираю другой холст, ранее выбранный холст должен быть отменен, а новый выбранный холст получает выделение,

но проблема, которая возникает из-за события развертывания, которое применяется к canvas, при щелчке холст выбирается, но при развертывании он отменяет выбор canvas, я даже удалил список развертывания при щелчке по canvas, но в этом случае выбранный холст не будет отменен, когда будет нажат другой холст

 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');
}
  

я надеюсь, что в этом что-то понятно, никто не работал над этим, пожалуйста, ответьте

Заранее спасибо

Анкур Шарма

Ответ №1:

Как насчет реализации переменной «flag», которая устанавливается в true значение при щелчке. Затем, когда произойдет откат, проверьте, установлен ли флаг true или false. Если true, ничего не делайте, если false, удалите / измените границу.

Комментарии:

1. рит, я уже использовал, но попробую еще раз, спасибо

Ответ №2:

 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"
  

и теперь это работает,

никто не может мне сказать, как поместить некоторые выделения и отменить выбор (своего рода эффект затухания) на границу, когда черное выделение удаляется, оно должно быть удалено каким-либо образом затухания, можем ли мы применить эффект затухания к границе?