# Photo Gallery Using XML - Auto Cycle Through Images?

**URL:** <https://forum.kirupa.com/t/photo-gallery-using-xml-auto-cycle-through-images/152218>\
**Category:** flash\
**Created:** [June 22, 2005, 4:51am UTC](https://forum.kirupa.com/t/photo-gallery-using-xml-auto-cycle-through-images/152218 "2005-06-22T04:51:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![vgolfer](https://avatars.discourse-cdn.com/v4/letter/v/a4c791/32.png) [@vgolfer](https://forum.kirupa.com/u/vgolfer)\
**Post date:** [June 22, 2005, 4:51am UTC](https://forum.kirupa.com/t/photo-gallery-using-xml-auto-cycle-through-images/152218/1 "2005-06-22T04:51:07Z")

</div>

This really is a great forum. I’m using the tutorial for the Photo Gallery using XML ([http://www.kirupa.com/developer/mx2004/xml\_flash\_photogallery.htm](http://www.kirupa.com/developer/mx2004/xml_flash_photogallery.htm)) - it is fantastic. Just a quick question.

Does anyone know if it is possible to modify the code so that it automatically cycles through all the images in, say, 10 second intervals? So rather than keep clicking the next button, it just cycles through. And when it gets to the last image, it then cycles back through the first one.  
Code is below:

function loadXML(loaded) {  
if (loaded) {  
xmlNode = this.firstChild;  
image = [];  
description = [];  
total = xmlNode.childNodes.length;  
for (i=0; i\<total; i++) {  
image\* = xmlNode.childNodes\*.childNodes[0].firstChild.nodeValue;  
description\* = xmlNode.childNodes\*.childNodes[1].firstChild.nodeValue;  
}  
firstImage();  
} else {  
content = “file not loaded!”;  
}  
}  
xmlData = new XML();  
xmlData.ignoreWhite = true;  
xmlData.onLoad = loadXML;  
xmlData.load(“images.xml”);  
/////////////////////////////////////  
listen = new Object();  
listen.onKeyDown = function() {  
if (Key.getCode() == Key.LEFT) {  
prevImage();  
} else if (Key.getCode() == Key.RIGHT) {  
nextImage();  
}  
};  
Key.addListener(listen);  
previous\_btn.onRelease = function() {  
prevImage();  
};  
next\_btn.onRelease = function() {  
nextImage();  
};  
/////////////////////////////////////  
p = 0;  
this.onEnterFrame = function() {  
filesize = picture.getBytesTotal();  
loaded = picture.getBytesLoaded();  
preloader.\_visible = true;  
if (loaded != filesize) {  
preloader.preload\_bar.\_xscale = 100\*loaded/filesize;  
} else {  
preloader.\_visible = false;  
if (picture.\_alpha\<100) {  
picture.\_alpha += 10;  
}  
}  
};  
function nextImage() {  
if (p\<(total-1)) {  
p++;  
if (loaded == filesize) {  
picture.\_alpha = 0;  
picture.loadMovie(image[p], 1);  
desc\_txt.text = description[p];  
picture\_num();  
}  
}  
}  
function prevImage() {  
if (p\>0) {  
p–;  
picture.\_alpha = 0;  
picture.loadMovie(image[p], 1);  
desc\_txt.text = description[p];  
picture\_num();  
}  
}  
function firstImage() {  
if (loaded == filesize) {  
picture.\_alpha = 0;  
picture.loadMovie(image[0], 1);  
desc\_txt.text = description[0];  
picture\_num();  
}  
}  
function picture\_num() {  
current\_pos = p+1;  
pos\_txt.text = current\_pos+" / "+total;  
}

Thanks a lot  
Rob J from Australia
