5568 sujets

Sémantique web et HTML

Bonjour,

Je suis actuellement en train de monter mon site en HTML5, mais je rencontre un petit souci niveau validation W3C.

J'ai créé des images qui changent via un onmouseover/onmouseout en javascript. Le souci, c'est que si j'utilise un "id" et non un "name", mon javascript ne marchera pas sous IE. Et si j'utilise un "name" et non un "id", mon code ne sera du coup plus valide. Smiley decu

Voilà mon code :

<a href="link.html" onmouseover="rollover.src='img1.jpg';" onmouseout="rollover.src='img2.png';">
<img src="img/img2.jpg" id="rollover" alt="az" />
</a>


Et le Javascript associé :


rollover= new Image( );
rollover.src="img/img1.jpg";


Quelqu'un sait comment contourner ce problème ?

Merci beaucoup !
Modifié par Mastah (11 Feb 2011 - 10:01)
Bonjour,

Quel est le problème pour IE ? Car, il n'y a, à priori, aucune raison que ça ne marche pas (sous réserve de voir le code)
Bonjour Laurie-Anne,

Le problème est que l'image onmouseover (img1.jpg) n'est appelée sous aucune version d'IE (de 6 à 8) quand j'utilise un "id" et non un "name" (en revanche avec "id" c'est niquel sous FF et Opéra, je n'ai pas encore pu tester d'autres navigateurs.)

Mon javascript est externalisé, mais appelé de manière normale dans mon <head>. Bref, c'est un vrai casse-tête !

Si besoin, je peux mettre la totalité du code concerné.

Merci !
Modifié par Mastah (10 Feb 2011 - 17:25)
Bonjour.

Met la totalité du code, l'erreur peut venir de partout. Il nous faut une vue d'ensemble. Smiley smile
Je pense que le plus simple est de linker directement le site.

Le souci que j'ai porte sur les 3 boutons dans mon header.

Par ailleurs j'ai testé sous Chrome, et j'ai le même souci que sous IE.
Modifié par Mastah (11 Feb 2011 - 11:48)
Petites choses :
* Les CSS toujours dans le head, même ceux pour IE, sinon ça cause des problèmes.

* Les JS sont à placer, de préférence, en fin de document. Si possible (c-à-d, quand on utilise pas des scripts surlequels on a pas la main) regrouper tous les scripts en un seul fichier.

* Préférer onFocus à onMouseOver, ça permet une meilleurs navigation au clavier.

* Utiliser getElementsById, pour cibler les éléments, ça devrait arranger pas mal les choses.
Laurie-Anne a écrit :
Petites choses :
* Les CSS toujours dans le head, même ceux pour IE, sinon ça cause des problèmes.

* Les JS sont à placer, de préférence, en fin de document. Si possible (c-à-d, quand on utilise pas des scripts surlequels on a pas la main) regrouper tous les scripts en un seul fichier.

* Préférer onFocus à onMouseOver, ça permet une meilleurs navigation au clavier.

* Utiliser getElementsById, pour cibler les éléments, ça devrait arranger pas mal les choses.


Merci beaucoup pour tes réponses. Effectivement mon code n'est pas encore 100% optimisé, mais je vais mettre tout ça au propre peu à peu Smiley smile

J'avais pensé à un getElementById pour contourner le problème effectivement, je vais tester ça. Si ça marche je passe le topic en résolu Smiley cligne

EDIT : c'est ok et de nouveau valide ! Merci mille fois, je passe en résolu.
Modifié par Mastah (11 Feb 2011 - 10:01)