Instead of having hide/show functions you could change the VBox to this:

 

                <mx:VBox mouseOver="cart[event.target.repeaterIndices[0]].visible = true"

                         mouseOut="cart[event.target.repeaterIndices[0]].visible = false" >

 

The problem that I see is that those labels can get in the way, basically when the mouse goes over the label which is still technically inside the VBox the mouseOut event still fires.  I’m not sure what the right solution would be here, maybe having the mouseOver handler hide the last visible cart and show the new one?  I’ll let other people chime in here, this change should at least make it a little more stable.

 

Matt

 


From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 20, 2005 9:28 PM
To: flexcoders
Subject: [flexcoders] Urgent- Wipe effect to repeater objects...

 

hai!

      I have already posted a mail regarding this .Pls dnt omit this.. I have been trying to apply wipe effect to a VBox which must appear just below the image in a tile... ?I use repeater to populate the images in the tile.. the problem is i dont know how to refer to the repeater object..I tried using the repeaterindices but it doesnt work.. i dont know if the approach is correct. i am new to flex, so someone plese help me with this.. please send me the code..

 

regards,

nithya

 

my MXML code is:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">

<mx:Script>
          function show(index) {
         var e = new mx.effects.WipeDown(cart[index]);
   e.show=true;
         e.duration = 300;
         e.playEffect();
    }
     
    function hide(index){
     var f = new mx.effects.WipeUp(cart[index]);
       f.show=false;
    f.duration = 300;
    f.playEffect();
   } 
    </mx:Script>
   <mx:Effect>
        <mx:WipeDown  name="showCart" show="true" duration="300"/>
        <mx:WipeUp name="hideCart" show="false" duration="300"/>
    </mx:Effect>

    <mx:Model id="catalog" source="../catalog.xml"/>

    <mx:Canvas>

        <mx:Tile y="50" width="480">
            <mx:Repeater id="list" dataProvider="{catalog.product}" count="6">
                <mx:VBox mouseOver="show(event.target.repeaterIndices[0])" mouseOut="hide(event.target.repeaterIndices[0])" >
                    <mx:Image width="75" height="70" source="{list.currentItem.image}"/>
                   
             <mx:VBox id="cart" backgroundColor="#EEF5EE" borderStyle="solid" marginTop="8" marginLeft="8" marginBottom="8" marginRight="8" visible="false" showEffect="showCart" hideEffect="hideCart">
                     <mx:Label text="Your Shopping Cart:"/>
                </mx:VBox>
     <mx:Label text="{list.currentItem.name}"/>
                    <mx:Label text="${list.currentItem.price}"/>
                </mx:VBox>
            </mx:Repeater>
        </mx:Tile>


    </mx:Canvas>

</mx:Application>


Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now



Yahoo! Groups Links

Reply via email to