покажите границу при наведении курсора и выберите большой палец при нажатии и отмените выбор предварительно выбранного большого пальца - PullRequest
0 голосов
/ 23 июня 2010

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

но проблема, которая наступает после события 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');
}

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

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

Анкур Шарма

Ответы [ 2 ]

0 голосов
/ 23 июня 2010
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"

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

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

0 голосов
/ 23 июня 2010

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

...