Diaporama et CSS

Eléphant du PHP | 330 Messages

10 déc. 2008, 14:53

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); }
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

10 déc. 2008, 16:06

tu peux utiliser un id au lieu de name et dans le code javascript utilise:
document.getElementById('composite')
au lieu de :
document.composite
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 330 Messages

10 déc. 2008, 16:21

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); }
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

10 déc. 2008, 16:46

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.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 330 Messages

10 déc. 2008, 17:14

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); }
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

10 déc. 2008, 17:48

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>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 330 Messages

10 déc. 2008, 17:56

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" />✉
Modifié en dernier par Photographiquement Vôtre le 10 déc. 2008, 18:02, modifié 1 fois.
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Mammouth du PHP | 2937 Messages

10 déc. 2008, 18:02

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. ;)

Eléphant du PHP | 330 Messages

10 déc. 2008, 18:13

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" />✉
_________________
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Mammouth du PHP | 2937 Messages

10 déc. 2008, 18:15

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 ;) ).

Eléphant du PHP | 330 Messages

10 déc. 2008, 18:23

Oui je suis bien d'accord donc j'ai mis src="" ce qui ne pose pas de problème

Encore merci
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent