way2web
Messages postés65Date d'inscriptionjeudi 17 mars 2011StatutMembreDernière intervention17 mars 2011
-
24 mai 2007 à 10:13
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 2011
-
24 mai 2007 à 15:25
Bonjour,
Moi et les maths on fait 2 ;)
Ca fait quelques heures que je galère sur ce script, je vous explique :
j'ai une galerie photo miniatures avec un bouton de navigation de part et d'autre (next et back) qui montrent respectivement chaque fois les 4 images précédentes ou suivantes, les boutons déclenchent ma fonction showThumbails en lui transmettant une variable index de 4 ou -4 en fonction du sens de navigation.
bouton back
on (release)
{
showThumbails(-4,_root.theyear);
}
et
bouton next
on(release)
{
showThumbails(4,_root.theyear);
}
la valeur _root.theyear me permettant de me répérer dans les différentes galeries
voici ma fonction :
var index:Number = 0;
var nombre:Number = 0;
function showThumbails(index,year:String):Void {
_root.theyear = year;
var MovieDepthCounter:Number = 10;
var photoHolder:MovieClip;
var xPos:Number;
var yPos:Number = 20;
var photoThumb:String;
nombre+= index;
trace(nombre);
for (var i:Number = 0; i<RootNode.childNodes.length; i++)
{
if (RootNode.childNodes[i].attributes.year == year)
{
var CategoryXML:XMLNode = RootNode.childNodes[i];
TotalPhotos = CategoryXML.childNodes.length;
trace(year+" has "+TotalPhotos+" photos");
if (((nombre+4)/4) >= Math.ceil(TotalPhotos/4))
{
//pr empêcher d'aller en avant qd on est à la dernière photo
Next_btn.enabled = false;
nombre=0;
}
else
{
Next_btn.enabled = true;
}
if (nombre == 0)
{
//pr empêcher d'aller en arrière qd on est à la première photo
Previous_btn.enabled = false;
Next_btn.enabled = true;
}
else
{
Previous_btn.enabled = true;
}
for (var j:Number = 0; j<4; j++) {
photoThumb = CategoryXML.childNodes[j+nombre].childNodes[1].firstChild.nodeValue;
//photoThumb = "http://www.webdesign-4u.be/web-4u/images/portfolio/pictures/2003/botybenelux.jpg";
//trace(photoThumb);
photoHolder = this.createEmptyMovieClip("photoHolder"+j, MovieDepthCounter);
//trace(photoHolder);
xPos = 30+65*j;
photoHolder._x = xPos;
photoHolder._y = yPos;
var photoHolderLoader:MovieClipLoader = new MovieClipLoader();
photoHolderLoader.loadClip(photoThumb, photoHolder);
MovieDepthCounter++;
}
}
}
//fin du for
}
//fin de la fonction showThumbails
dans ma galerie 1 j'ai 23 images, dans la 2ème 17, dans la 3ème 15 et dans la dernière 4. J'ai réussi à regler le bouton back correctement de manière à ce qu'il ne soit pas possible d'aller en arrière quand on est à la première photo.
Maintenant j'aimerais limiter le bouton nexquand on est sur la dernière photo et quand on clique sur une autre année la variable nombre doit être reinitialisée pour que la navigation démarre bien à la première image de la galerie correspondante ! J'ai tenté tout ça dans les if mais je n'arrive pas à trouver la formule mathématique qui me permet de bloquer le bouton next quelque soit le nombre d'images dans la galerie !
way2web
Messages postés65Date d'inscriptionjeudi 17 mars 2011StatutMembreDernière intervention17 mars 2011 24 mai 2007 à 15:12
J'ai essayé ça empêche d'afficher les dernières photos ex :
sur ma galerie comportant 23 photos on va jusqu'à la vingtième et puis on se retrouve à la première !
sur celle qui en comporte que 5 on ne voit que les 4 premières et on ne sait pas voir la dernière !