Problème avec la fonction ChangeImage

Bonjour tout le monde, :slight_smile:

je découvre avec plaisir ce forum qui me semble réactif et agréable.
C’est malheureusement un problème qui m’amène à vous : celui ci concerne la fonction “ChangeImage”.

J’ai créé deux tableaux dans lesquels on peut visualiser différentes images en cliquant sur des boutons. Chacun des tableaux contient ainsi 52 images.
Le premier fonctionne parfaitement mais le second ne marche pas : aucune image ne se charge.

Après vérification, je pense avoir ciblé le problème : lorsque je créé ma base d’images, c’est le nombre “100” qui fait bugger le fonctionnement du tableau.
En enlevant les 5 dernières images de la seconde base (les 100, 101, 102, 103 et 104), le tableau fonctionne ; il manque alors 5 images. :frowning:

Ma question est donc la suivante : comment résoudre ce problème et comment intégrer ces 5 images dans mon tableau avec la fonction ChangeImage ?

Je vous remercie d’avance pour votre aide.

Je n’en sais rien. Je ne sais même pas dans quel langage tu évolue ?

Pardon. Je suis complètement novice et ne connais pas les langages en la matière. Il s’agit de Javascript (est ce ça le “langage” ?).
Edité le 25/10/2009 à 02:37

ouaip. Et maintenant c’est quoi ce ChangeImage ? Une fonction ? On n’a pas le code, surtout si c’est un truc que tu as écrit…

Merci pour ta réponse. Oui, je pense que ChangeImage est une fonction ; elle permet, dans un tableau, de pouvoir changer d’images en cliquant sur un bouton.

Voici le code de mon second tableau qui ne fonctionne pas :

Cliquer sur les boutons afin de comparer les crops
Minolta 50 f1.7 Sony 50 f1.4
Zone A boutonf017.jpg boutonf020.jpg boutonf028.jpg boutonf040.jpg boutonf056.jpg boutonf080.jpg boutonf017.jpg boutonf020.jpg boutonf028.jpg boutonf040.jpg boutonf056.jpg boutonf080.jpg boutonf017.jpg
Zone B boutonf017.jpg boutonf020.jpg boutonf028.jpg boutonf040.jpg boutonf056.jpg boutonf080.jpg boutonf017.jpg boutonf020.jpg boutonf028.jpg boutonf040.jpg boutonf056.jpg boutonf080.jpg boutonf017.jpg
Sony 50 f1.8 DT Sigma 50 f1.4 HSM
Zone A boutonf017.jpg boutonf020.jpg boutonf028.jpg boutonf040.jpg boutonf056.jpg boutonf080.jpg boutonf017.jpg boutonf020.jpg boutonf028.jpg boutonf040.jpg boutonf056.jpg boutonf080.jpg boutonf017.jpg
Zone B boutonf017.jpg boutonf020.jpg boutonf028.jpg boutonf040.jpg boutonf056.jpg boutonf080.jpg boutonf017.jpg boutonf020.jpg boutonf028.jpg boutonf040.jpg boutonf056.jpg boutonf080.jpg boutonf017.jpg

Le premier tableau, qui fonctionne parfaitement est identique dans la forme. La seule chose qui le différencie du second est la base (la “base1”) qui contient autant d’images mais dont les numéros vont de 01 à 52.
Lorsque j’enlève, dans le second tableau, les images 100, 101, 102, 103 et 104, il fonctionne. Ce qui me fait penser que c’est bien le fait qu’un nombre composé de 3 chiffres fait bugger la fonction ChangeImage.

Je me demandais donc, si quelqu’un connaissant cette fonction, pouvait me confirmer si le problème est bien celui ci, et comment le résoudre.:slight_smile:

Merci à vous.

Je ne veux pas être méchant, mais ton script est un brin bourrin pour du simplement remplacement d’image.

Tu l’as écrit à la main (la liste ImgXXX.src) ou c’est via PHP ou un autre langage serveur ?

Quant au problème décrit, c’est que ta variable n’existe pas. Mais eval ne devrait pas planter pour quelques caractères.

PS: moi je changerai le code pour :

-> Image base2

<img src="..." id="base2" />

-> ChangeImage

function ChangeImage(imgID,imgSrc) {
document.getElementById(imgID).src = imgSrc;
}

-> onclick :

<td style="height: 28px; width: 36px;"><span onclick="ChangeImage('base2','images/2A70050080_Sigma14'); return false;"><img style="float: center; margin: 0px;" title="boutonf017.jpg" src="images/boutonf080.jpg" alt="boutonf017.jpg" width="30" height="26" /></span></td>

J’ai viré le lien parce que si tu ne mets pas un code de fallback pour les navigateurs sans javascript (ie: href=“chemin vers l’image”) ça ne sert à rien.

Au passage : le return true/false dans l’événement onclick sert à éviter de propager l’événement. Sur un lien, l’effet c’est que la page pointée par href ne sera pas ouverte.

Rassure toi : tu n’es pas du tout méchant car en effet, j’imagine bien que c’est bourrin. :slight_smile:
Je n’y connais absolument rien donc j’ai écrit à la main (comme tu l’as deviné) à partir de déductions. C’est assez empirique mais je n’ai pas encore trouvé d’autres moyens. En somme, j’apprends sur le tas en prenant de mauvaises habitudes.

Je vais lire et relire ton dernier message car il me faut du temps pour comprendre (c’est un peu du chinois). Un grand merci à toi pour l’aide précieuse que tu m’apportes. :slight_smile: