Problème slideshow

jpthali Messages postés 10 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 19 janvier 2010 - 15 oct. 2008 à 16:41
jpthali Messages postés 10 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 19 janvier 2010 - 16 oct. 2008 à 15:11
Salut à tous,


J'ai récupérer la source pour créer un slide show sur Kirupa:"Adding Thumbnails"


Avec des miniatures.

J'ai ajouté la fonction slideshow pour que le défilement des images
commence tout seul, comme dans la galerie de base de cette source:
"xml_flash_photogallery"


à priori ça marche sauf que quand on clique sur les flèches pour passer
à la photo d'après ou si on clique sur une miniature, le défilement
automatique déconne et pose problème.


Ma question est donc de savoir comment faire en sorte que dès que l'on
clique sur les flèches ou une miniature, le défilement soit stoppé, et
ne reprenne plus ?


voici le code:


delay = 3000;

//-----------------------

function loadXML(loaded) {

if (loaded) {

xmlNode = this.firstChild;

image = [];

description = [];

thumbnails = [];

total = xmlNode.childNodes.length;

for (i=0; i<total; i++) {

image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;

description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;

thumbnails[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;

thumbnails_fn(i);

}

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();

slideshow();

}

}

}

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();

slideshow();


}

}

function picture_num() {

current_pos = p+1;

pos_txt.text = current_pos+" / "+total;

}


function slideshow() {

myInterval = setInterval(pause_slideshow, delay);

function pause_slideshow() {

clearInterval(myInterval);

if (p == (total-1)) {

p = 0;

firstImage();

} else {

nextImage();

}

}

}

function thumbNailScroller() {

// thumbnail code!

this.createEmptyMovieClip("tscroller", 1000);

scroll_speed = 10;

tscroller.onEnterFrame = function() {

if ((_root._ymouse>=thumbnail_mc._y) && (_root._ymouse<=thumbnail_mc._y+thumbnail_mc._heig ht)) {

if ((_root._xmouse>=(hit_right._x-40)) && (thumbnail_mc.hitTest(hit_right))) {

thumbnail_mc._x -= scroll_speed;

} else if ((_root._xmouse<=(hit_left._x+40)) && (thumbnail_mc.hitTest(hit_left))) {

thumbnail_mc._x += scroll_speed;

}

} else {

delete tscroller.onEnterFrame;

}

};

}

function thumbnails_fn(k) {

thumbnail_mc.createEmptyMovieClip("t"+k, thumbnail_mc.getNextHighestDepth());

tlistener = new Object();

tlistener.onLoadInit = function(target_mc) {

target_mc._x = hit_left._x+(target_mc._width+5)*k;

target_mc.pictureValue = k;

target_mc.onRelease = function() {

p = this.pictureValue-1;

nextImage();

};

target_mc.onRollOver = function() {

this._alpha = 50;

thumbNailScroller();

};

target_mc.onRollOut = function() {

this._alpha = 100;

};

};

image_mcl = new MovieClipLoader();

image_mcl.addListener(tlistener);

image_mcl.loadClip(thumbnails[k], "thumbnail_mc.t"+k);

}


merci à tous !

1 réponse

jpthali Messages postés 10 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 19 janvier 2010
16 oct. 2008 à 15:11
Personne pour m'aider ou au moins m'aiguiller ?

merci
0
Rejoignez-nous