Bonjour,

Dans ma page web, j'ai un événement onmousover qui doit modifier le style d'un autre élément de la page.

Typiquement:
<div id="truc"> bla bla bla </div>
<img src="monimage.gif" onmouseover="truc.style.margin='0px'" onmouseout="truc.style.margin='2px'" border="0" >

Je remarque que cela ne fonctionne (sous firefox) que si j'enlève la déclaration Doctype en haut de la page (HTML 4 ou XHTML d'ailleurs).
Par contre pas de conséquence sous ie 6 (mais c'est pas une référence...)

A noter que je n'ai pas le problème lors d'une référence à l'objet lui même (en utilisant this.style etc..)

C'est quoi le truc que j'ai loupé?
Salut davnsb et bienvenue, Smiley cligne

essayes avec :
<div id="truc"> bla bla bla </div>
<img src="monimage.gif" onmouseover="getElementById('truc').style.margin='0px'" onmouseout="getElementById('truc').style.margin='2px'" style="border:none;" />

Modifié par Heyoan (23 Feb 2009 - 06:56)
Et par ailleurs, un rappel sur quelques bonnes pratiques:

1. Faire du JS non intrusif, hum?
2. Modifier la classe d'un élément ou lui ajouter/retirer une classe, plutôt que de modifier les styles CSS directement en JavaScript.
Florent V. a écrit :
Et par ailleurs, un rappel sur quelques bonnes pratiques:

1. Faire du JS non intrusif, hum?
2. Modifier la classe d'un élément ou lui ajouter/retirer une classe, plutôt que de modifier les styles CSS directement en JavaScript.


C'est quoique t'appelle non intrusif? tu veux dire définir des fonctions au préalable?
Pour ajouter/retirer une classe jsuis d'accord c'est plus propre, mais bon quand c'est juste un petit élément à changer, surtout pour un ptit test...

Bref merci pour le tuyau, c'est bien le getElementById() qui m'échappait.
Et moi qui pensait naïvement que le truc.style.margin c'était légal..
Salut,

"non intrusif" signifie que JavaScript n'est pas forcément activé chez ton visiteur et donc que rien ne devrait en dépendre. Dit autrement il ne devrait être utilisé qu'en surcouche de ton code html. Voir Comment bien coder en Javascript ?

PS : si tu considères que ce sujet est [Résolu] merci de l'indiquer en éditant ton premier post et en modifiant le titre. Smiley cligne