Oui bon, à
cet endroit cela semblait fonctionner et tu m'a demandé de rajouter un paramètre (le dossier du répertoire) car les dossiers pouvaient être différents.
J'ai donc ajouté un paramètre à la fonction qui permettait de passer le dossier à la fonction.
Cela dit quand j'ai écrit les lignes
de ce code les paramètres envoyés n'étaient pas les bons puis j'avais indiqué "photo" et "photo2" alors que tes dossiers se nomment apparemment "photos" et "photos2".
Ci- dessous les extraits du code (du lien ci-dessus) où tu aurais dû remplacer "photo" par "photos"
Code : Tout sélectionner
<body onload="change_im('image_content,'photo');change_im('image_content2,'photo2')">
...
<input type="button" onclick="change_im('image_content','photo')" value = "rafraichir" />
...
<input type="button" onclick="change_im('image_content2','photo2')" value = "rafraichir" />
A vrai dire je m'en suis rendu compte en postant, mais je n'ai pas eu le temps de rectifier car je devais partir. Et puis si tu veux un peu comprendre quelque chose il te faut bien essayer de réfléchir un peu.
Le premier paramètre de la fonction correspond à l'id de l'image, le second au dossier. Si tu modifie l'id de l'image il te faudra modifier le paramètre, de même si le dossier passé comme argument à la fonction n'est pas le bon il suffit de le modifier par : change_im('image_content','
photos') , a supposé que ton dossier se nomme "photos"
Pourquoi ça marchait dans le précédent code (le premier lien que j'ai donné) ? parce que le nom du dossier n'était pas passé comme argument dans la fonction mais écrit en dur dans la fonction avec la bonne nomination du dossier "photos" (avec un s)
Code : Tout sélectionner
function change_im(id) {
/...
var photo = 'photos/'+parseInt(Math.random()*95)+'.jpg';
/...
}
Ensuite le nombre de tes photos est différent par dossier, ben on ajoute un troisième paramètre, de même que l'on en a rajouté un second pour le nom des dossiers, et souviens-toi, un premier pour indiquer l'affichage de deux images différentes dans la même page.
FredoMkb t'a montré comment passer ce troisième paramètre, que normalement tu aurais pu déduire de la progression des exemples précédents.
Regarde l'évolution du code depuis le début du topic, notes les instants où ça marche et enregistre-les et comme ça tu pourras voir par la suite à partir de quelles modifications ça ne marche plus.
Essaies de voir comment fonctionnent les fonctions... prends le temps de comprendre, sinon tu n'avanceras pas dans la programmation et il te faudra toujours quelqu'un pour faire ton code à ta place.
Pour de petites choses comme celles-ci qui prennent quelques minutes tu trouveras des bénévoles mais pour des choses plus ardues personne ne passera plusieurs heures à ta place sauf à être payé pour le faire.
Enfin bon, oublies tes histoires de "gds" ça ne fera pas avancer ton histoire, et essaies de comprendre comment fonctionne le code plutôt que de tenter des trucs un peu au hasard (surtout qu'à un moment tu avais un code de fonctionnel).
Cela dit, à ta décharge, il est vrai que javascript est beaucoup plus difficile à débugguer que php.
Dans la fonction ci-dessous, par rapport au code
précedent j'ai ajouté un "alert" pour que tu puisses voir le chemin de ta photo. A supprimer en phase fonctionnelle évidemment, c'est juste pour du contrôle en phase de développement.
Code : Tout sélectionner
function change_im(id,dossier) {
if (this.conteneur = document.getElementById(id))
{
var photo = dossier+'/'+parseInt(Math.random()*95)+'.jpg';
this.conteneur.src = photo;
alert(photo);
}
}