# Image cross fade, remove old image question

**URL:** <https://forum.kirupa.com/t/image-cross-fade-remove-old-image-question/295045>\
**Category:** flash\
**Created:** [August 24, 2009, 6:19pm UTC](https://forum.kirupa.com/t/image-cross-fade-remove-old-image-question/295045 "2009-08-24T18:19:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![bigbstanley](https://avatars.discourse-cdn.com/v4/letter/b/977dab/32.png) [@bigbstanley](https://forum.kirupa.com/u/bigbstanley)\
**Post date:** [August 24, 2009, 6:19pm UTC](https://forum.kirupa.com/t/image-cross-fade-remove-old-image-question/295045/1 "2009-08-24T18:19:29Z")

</div>

I’m trying to do a simple image gallery with a previous and next button. I have it working nicely with a little crossfade, however I know that I need to remove old instances of my class after they are done being used - I just don’t know how to do it. Especially because I want to wait until the top image/instance is fully faded in before deleting the one below it AND what if someone clicks the next/previous button before the image is fully faded in?

Here is my main movie:  
[AS]  
function nextImage(evt:Event):void{  
currentImage ++;  
currentImage = (currentImage \< imageTotal) ? currentImage : 0;  
addImage();  
}

function prevImage(evt:Event):void{  
currentImage–;  
currentImage = (currentImage \< 0) ? imageTotal-1 : currentImage;  
addImage();  
}

nextBtn.addEventListener(MouseEvent.CLICK, nextImage);  
prevBtn.addEventListener(MouseEvent.CLICK, prevImage);

function addImage(){  
var image:ImageLoader = new ImageLoader(imageArray[currentImage], 2);  
imageHolder.addChild(image);  
trace(imageHolder.numChildren);  
}  
[/AS]

And my image instance:  
[AS]  
package com{

```
import flash.display.Sprite;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
import gs.TweenLite;
import gs.easing.*;

public class ImageLoader extends Sprite{
    
    private var fileName:String;
    private var fadeTime:Number;
    private var slideLoader:Loader;
    
    public function ImageLoader(file:String, fTime:Number){
        fadeTime = fTime;
        slideLoader = new Loader();
        slideLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeImageIn);
        //slideLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
        slideLoader.load(new URLRequest(file));
    }
    
    private function fadeImageIn(evt:Event):void{
        var holder:Sprite = new Sprite();
        addChild(holder);
        holder.alpha = 0;
        holder.addChild(slideLoader.content);
        TweenLite.to(holder, fadeTime, { alpha:1, ease:Strong.easeOut });
    }
    
}

```

}  
[/AS]

Any suggestions or help is much appreciated!
