Page 1 sur 1

Diaporama et CSS

Posté : 10 déc. 2008, 14:53
par Photographiquement Vôtre
Bonjour,

J'ai un code pour faire passer des photos.

Il marche bien quand dans le "src" j'utilise le "Name" "composite" mais cela ne correspond pas au critères de validation Xhtml

Comment procéder autrement.

Merci d'avance

Ma page :

Code : Tout sélectionner

<body onload="tourne();"> <!-- Centre de la Feuille --> <table cellspacing="0" cellpadding="0" > <!-- Photos --> <tr > <td> <img id="composite" name ="composite" alt="Composite" /> </td> </tr> </table>
Ma fonction Javascript :

Code : Tout sélectionner

compteur=0; function tourne(){ if (compteur == 9) { compteur = 1; } else { compteur++; } document.composite.src="../librairie/composite/Composite" + compteur + ".jpg"; setTimeout('tourne()', 3000); }

Posté : 10 déc. 2008, 16:06
par sadeq
tu peux utiliser un id au lieu de name et dans le code javascript utilise:
document.getElementById('composite')
au lieu de :
document.composite

Posté : 10 déc. 2008, 16:21
par Photographiquement Vôtre
C'est ce que j'avais essayé mais cela ne marche pas :

Code : Tout sélectionner

<!-- Centre de la Feuille --> <table cellspacing="0" cellpadding="0" > <!-- Photos --> <tr > <td> <img id="composite" alt="Composite" /> </td> </tr> </table>
JS

Code : Tout sélectionner

compteur=0; function tourne(){ if (compteur == 9) { compteur = 1; } else { compteur++; } document.getElementById('composite').src="../librairie/composite/Composite" + compteur + ".jpg"; setTimeout('tourne()', 3000); }

Posté : 10 déc. 2008, 16:46
par sadeq
C'est quoi l'erreur? utilise internet explorer pour qu'il te signale directement les erreurs javascript ou si tu es sous firefox, installe l'extension : firebug si tu veux surveiller les erreurs javascript en déboguant.

Posté : 10 déc. 2008, 17:14
par Photographiquement Vôtre
Je n'y comprends rien.

Cela ne marche pas sur Explorer mais sur Firefox or je n'ai rien changé dans ma fonction :

Code : Tout sélectionner

function tourne(){ if (compteur == 9) { compteur = 1; } else { compteur++; } document.composite.src="../librairie/composite/Composite" + compteur + ".jpg"; setTimeout('tourne()', 3000); }

Posté : 10 déc. 2008, 17:48
par sadeq
Désolé, ton code fonctionne parfaitement chez moi sous les 2 navigateurs IE et FF, je l'ai testé avec copie/coller.

Pour une fois IE est d'accord avec FF, tu as réalisé l'impossible. Bravo :lol:

Voici le récap:

Code : Tout sélectionner

<script type="text/javascript"> compteur=0; function tourne(){ if (compteur == 9) { compteur = 1; } else { compteur++; } document.getElementById('composite').src="../librairie/composite/Composite" + compteur + ".jpg"; setTimeout('tourne()', 3000); } </script> <body onload="tourne();"> <!-- Centre de la Feuille --> <table cellspacing="0" cellpadding="0" > <!-- Photos --> <tr > <td> <img id="composite" name ="composite" alt="Composite" /> </td> </tr> </table> </body>

Posté : 10 déc. 2008, 17:56
par Photographiquement Vôtre
J'ai enlevé "name" et cela a l'air de marcher pb j'ai des massages W3C

Line 87, Column 42: required attribute "src" not specified.
<img id="composite" alt="Composite" />✉

Posté : 10 déc. 2008, 18:02
par Victor BRITO
Oui je suis d'accord mais la balise name n'est pas valide W3c
L'attribut (et non balise ;) ) name pour l'élément img n'est invalide qu'en mode strict. Vu qu'un attribut id est renseigné et vu le code JavaScript, tu peux virer sans problème l'attribut name. ;)

Posté : 10 déc. 2008, 18:13
par Photographiquement Vôtre
J'ai enlevé "name" et cela a l'air de marcher pb j'ai des messages W3C

Line 87, Column 42: required attribute "src" not specified.
<img id="composite" alt="Composite" />✉
_________________

Posté : 10 déc. 2008, 18:15
par Victor BRITO
En effet, l'attribut src est obligatoire pour l'élément img (normal, c'est l'attribut indiquant le chemin vers l'image en question ;) ).

Posté : 10 déc. 2008, 18:23
par Photographiquement Vôtre
Oui je suis bien d'accord donc j'ai mis src="" ce qui ne pose pas de problème

Encore merci