11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

J'ai une question: pourquoi lorsque je met plusieurs fois le même script (permet de faire un diaporama photos, les photos sont différentes sur chaque script) sur la même page, ces scripts ne s'exécutent pas??

Quelqu'un à une idée ou pourrait m'aider à résoudre ce problème SVP Smiley smile ??

Merci d'avance
Re-bonjour,

En fait, je n'y connais pas grand chose en .js (déjà appris html et css et plus le temps pour apprendre le .js car je dois terminer le site pour la fin de semaine).

Du coup, un conseil, de l'aide, un coup de main SVP pour m'aider à pallier ce problème, car j'ai besoin de mettre 5 fois le même script??
Voici le code (j'ai mis pour le moment que 2 script)


<div class="diapoelec"><script language="JavaScript" type="text/javascript">
<!--
//chemin vers les images
src = ["photos/diapo/img1.png", "photos/diapo/img2.png", "photos/diapo/img3.png", "photos/diapo/img4.png", "photos/diapo/img5.png"]
//temp de chaque image
duration = 2;

//ne rien toucher en dessous 
ads=[]; ct=0;
function switchAd() {
var n=(ct+1)%src.length;
if (ads[n] && (ads[n].complete || ads[n].complete==null)) {
document["Ajout_Image"].src = ads[ct=n].src;
}
ads[n=(ct+1)%src.length] = new Image;
ads[n].src = src[n];
setTimeout("switchAd()",duration*1000);
}
 onload = function(){
if (document.images)
switchAd();
}
//-->
</script>  <img src="photos/diapo/img2.png" name="Ajout_Image" alt="diapo"/></div>

<div class="corps2">
<div id="diwi">DiWi Timer</div>
<br />
<a href="photos/diwi.pdf">Télécharger ici la plaquette Diwi Timer</a>
<br />
 blablablabla
</div>
<hr />


<div class="diapoelec"><script language="JavaScript" type="text/javascript">
<!--
//chemin vers les images
src = ["photos/baignoire/boitier.jpg", "photos/baignoire/boitier_ouvert.jpg", "photos/baignoire/P1020310.jpg"]
//temp de chaque image
duration = 1;

//ne rien toucher en dessous 
ads=[]; ct=0;
function switchAd() {
var n=(ct+1)%src.length;
if (ads[n] && (ads[n].complete || ads[n].complete==null)) {
document["Ajout_Image"].src = ads[ct=n].src;
}
ads[n=(ct+1)%src.length] = new Image;
ads[n].src = src[n];
setTimeout("switchAd()",duration*1000);
}
 onload = function(){
if (document.images)
switchAd();
}
//-->
</script>  <img src="photos/baignoire/boitier.jpg" name="Ajout_Image" alt="diapo"/></div>

<div class="corps2">
<div id="baignoire">Automate baignoire</div>
<br />sfghvxQESKJCFNHUVHUQBSD.J?BVS.JWDB?VK.kjhlkqsnfv
sdgv
</div>
<hr />

<div class="corps2">
<div id="calibre">Calibre</div>
<br />sfghvxQESKJCFNHUVHUQBSD.J?BVS.JWDB?VK.kjhlkqsnfv
sdgv
</div>
<hr />


Merci
Oui c'est dans le html,
en fait j'ai tout bêtement copier coller le même code en changeant juste les photos.

Comment puis-je faire pour qu'il n'y ait plus conflit, car aucun script ne marche, alors que lorsqu'il n'y en a qu'un seul, il fonctionne très bien??
1- Les tableaux des images portent le même nom dans ton code (src = ["","",""])
2-
<img src="photos/diapo/img2.png" name="[b]Ajout_Image[/b]" alt="diapo"/>
: les scripts renvoient tous dans cette direction "Ajout_Image". Nomme les <img .../> différemment plutôt
Iddsoft,

J'ai modifié les nom des <img.../> et cela marche mais toujours que sur le dernier script.
Avec deux script, le 2nd fonctionne et pas le 1er. Avec trois script, le 3eme fonctionne, le 2nd ne fonctionne plus et le 1er toujours pas.

D'ou cela provient-il?

Que signifie le tableau des images portent le même nom?? Je dois changer les noms?? Sachant que les photos sont toutes différentes selon les scripts.

en tout je devrai mettre 5 scripts sur cette page.

J'ai vraiment besoin d'aide,

Merci d'avance
mel2412 a écrit :
Que signifie le tableau des images portent le même nom??


Dans chacun des scripts que tu utilises, le tableau où tu énumères les images (par exemple: src = ["photos/diapo/img1.png", "photos/diapo/img2.png", "photos/diapo/img3.png", "photos/diapo/img4.png", "photos/diapo/img5.png"]) porte le nom de "src". Il y aura conflit!
Donne un nom différent à chaque tableau, par ex. "src1", "src2" ... "src5", et n'oublie pas de faire les modifs ailleurs dans les scripts.
Pour <img src="photos/diapo/img2.png" name="Ajout_Image" alt="diapo"/>, donne aussi des noms différents à "Ajout_Image", en mettant par exemple: "Ajout_Image1", "Ajout_Image2",etc. et n'oublie de faire les modifs ailleurs.

Ton souci vient du fait, me semble-t-il, que tu as copié/collé un script qui n'est pas destiné à être multiplié sur une même page.
Ok Je commence à mieux comprendre.

Juste une dernière question: dans les scripts, je dois modifier tous les src en src1, src2... etc c'est-à-dire comme cela:



<div class="diapoelec"><script language="JavaScript" type="text/javascript">
<!--
//chemin vers les images
src = ["photos/diapo/img1.png", "photos/diapo/img2.png", "photos/diapo/img3.png", "photos/diapo/img4.png", "photos/diapo/img5.png"]
//temp de chaque image
duration = 2;

//ne rien toucher en dessous 
ads=[]; ct=0;
function switchAd() {
var n=(ct+1)%src.length;
if (ads[n] && (ads[n].complete || ads[n].complete==null)) {
document["Ajout_Image"].src = ads[ct=n].src;
}
ads[n=(ct+1)%src.length] = new Image;
ads[n].src = src[n];
setTimeout("switchAd()",duration*1000);
}
 onload = function(){
if (document.images)
switchAd();
}
//-->
</script>  <img src="photos/diapo/img2.png" name="Ajout_Image" alt="diapo"/></div>

<div class="corps2">
<div id="diwi">DiWi Timer</div>
<br />
<a href="photos/diwi.pdf">Télécharger ici la plaquette Diwi Timer</a>
<br />
 blablablabla
<hr />
</div>



<div class="diapoelec"><script language="JavaScript" type="text/javascript">
<!--
//chemin vers les images
src1 = ["baignoire/boitier.jpg", "baignoire/boitier_ouvert.jpg", "baignoire/P1020310.jpg"]
//temp de chaque image
duration = 2;

//ne rien toucher en dessous 
ads=[]; ct=0;
function switchAd() {
var n=(ct+1)%src1.length;
if (ads[n] && (ads[n].complete || ads[n].complete==null)) {
document["Ajout_Image1"].src1 = ads[ct=n].src1;
}
ads[n=(ct+1)%src1.length] = new Image;
ads[n].src1 = src1[n];
setTimeout("switchAd()",duration*1000);
}
 onload = function(){
if (document.images)
switchAd();
}
//-->
</script>  <img src1="baignoire/boitier.jpg" name="Ajout_Image1" alt="diapo"/></div>


et ainsi de suite ou j'oublie encore quelque chose (ce que je pense car en faisant cela, le diapo ne s'affiche plus du tout). Qu'est ce que j'oublie??

Merci
Modifié par mel2412 (20 Dec 2011 - 12:31)
mel2412 a écrit :
Juste une dernière question: dans les scripts, je dois modifier tous les src en src1, src2... etc

C'est la question que j'attendais Smiley cligne .
Non, dans ton code il y a 2 "src" différents! Il y a d'une part celui qui représente le nom d'une variable tableau, et d'autre part l'attribut 'src' qui sert à indiquer la source pour certains éléments, comme par exemple, une <img src='ma-source.jpg' alt="une_image" ....
Bref, il aurait mieux valu nommer les tableaux (array) d'images autrement, par exemple, "serie1", "serie2" etc.
Donc, ton dernier code est à corriger dans ce sens.

mel2412 a écrit :
Du coup c'est bon sa marche

Ah oui, comment? Smiley rolleyes
Du coup, j'ai essayer plusieurs fois en modifiant les src.. mais ne fonctionnant pas, je me suis tourné vers un ami qui ma aidé et j'ai changé le script.

Donc sa marche mais plus avec le même script Smiley langue .

En tout cas merci pour toute ton aide et tes conseils et je vais quand même faire ce que tu m'a dit, histoire de réussir à exécuter le 1er script. J'aime pas abandonner, même si je vais finalement pas m'en servir sur mon site, je tiens à réussir à faire en sorte à ce qu'ils marchent. Smiley smile