11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je cherche à faire un rollover sur une ligne de tableau. J'ai réussi assez facilement à le faire en insérant les appels onmouseover et onmouseout directement dans la balise <tr>. Mais quand j'essaie de regrouper tout ça dans le head de mon document, plus rien ne fonctionne. Est-ce que qqn voit une erreur dans mon script?

<script language="javascript">
   fn_lightning = function() {
      var rows = document.getElementsByTagName("tr");
      for (var i=0; i<rows.length; i++) {
         if(rows[i ].className == 'details') {
            rows[i ].onmouseover=function() {
               this.className += " lightning";
            }
            rows[i ].onmouseout=function() {
               this.className=rows[i ].className.replace(new RegExp(" lightning\\b"), "");
            }
         }
      }
   }
</script>

Merci d'avance.

PS: Est-ce que je dois lancer le script? Et si oui à quel moment?
Modifié par <nicolas> (19 Oct 2007 - 15:48)
Salut,

je pense que le code suivant fonctionne :
<script language="javascript">
    fn_lightning = function() {
      var rows = document.getElementsByTagName("tr");
      for (var i=0; i<rows.length; i++) {
         if(rows[i ].className == 'details') {
            rows[i ].onmouseover=function() {
               this.className += " lightning";
            }
            rows[i ].onmouseout=function() {
               this.className='details';
            }
         }
      }
   }
   
window.onload = fn_lightning;
</script>

A+

*Edit: et si tu ne l'a pas déjà lu, le tuto sur la gestion des évènements devrait t'intéresser Smiley langue !
Modifié par Heyoan (19 Oct 2007 - 14:08)
Merci ça marche parfaitement.

Par contre le tuto c'est encore un peu du chinois pour moi, vu mes connaissances en javascript. Merci quand même. Smiley confus