Accéder à un tableau [Résolu]

Signaler
Messages postés
71
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
21 novembre 2006
-
Messages postés
71
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
21 novembre 2006
-
Salut. J'espère avoir choisi le bon Thème, sinon je m'en excuse...

Vous savez ces petits javascripts qui permettent au passage de la souris de changer une image pour une autre? Ca donne souvent un bouton réactif... Je voudrais faire quelque chose de semblale mais avec un tableau. J'ai une image à l'intérieur d'un <table> et je voudrais, lors du passage de la souris sur l'image, changer le bgcolor du tableau. Là où je bloque c'est quand je dois assigner la nouvelle valeur au bgcolor du tableau. J'ai donné un id au tableau. Comme mon tableau est généré par du php et qu'il peu y en avoir plusieurs, j'ai donné un chiffre à la fin de l'id d'un tableau. Par exemple : id='miniw0' , id='miniw1' , id='miniw2' , etc. Les images contenues dans les tableaux portent en elles l'attribu : onmouseover='mouseOver(0)' (c'est un exemple, les numéros passés en argument correspondent au numéro du tableau dans lequel ils se trouvent). Bon jusque là je crois que j'ai tout fait correctement. Mais dans mon code javascript avec les fonctions dont mouseOver() je n'arrive pas à assigner une nouvelle valeur à l'attribu bgcolor d'un tableau. Voici mon code

<script type="text/javascript">
function mouseOver(arg)
{
var txt="miniw"
var tot=txt + arg
//alert(document.getElementById(tot).bgcolor)
document.getElementById(tot).bgcolor='#FFFFFF'
}
</script>


Vous vous doutez que arg contient la valeur numérique envoyée par l'appel à la fonction dans les image (onmouseover).

Tout ca pour dire que la valeur bgcolor ne semle pas exister, si j'essais de l'afficher avec un alert() ca me dit "undefined" la première fois, et ensuite ca me dit #FFFFFF (puisque manifestement ca viens tout juste de créer la variable bgcolor avec #FFFFFF dedans à cause de la  ligne document.getElementById(tot).bgcolor='#FFFFFF'). Quelqu'un a une idée?

3 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
38
Salut,

document.getElementById(tot).style.backgroundColor='#FFFFFF';

est plus corect que :

document.getElementById(tot).bgcolor='#FFFFFF'

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
224
Date d'inscription
lundi 19 décembre 2005
Statut
Membre
Dernière intervention
6 juin 2007
2
Salut en fait le modele DOM style de javascript possède des noms de propriétés différents de ceux de html!!!

par exemple :

CSS                                                HTML                                             Javascript

background-color                        bgcolor                                             backgroundColor
vertical-align                                 valign                                                verticalAlign
boder-left                                    border(pas le choix)                           borderLeft
etc...                                          etc...                                                     etc...

En fait en javascript la plupart des propriétés ont le nom de celle de CSS en enlevant le " - " et en mettant en majuscule la 1ere lettre du 2ème élément du nom composé.

Donc pour toi ici ca sera :

document.getElementById(tot).style.backgroundColor='#FFFFFF';

comme on te la fait remarqué dans le message précédent.

Et derniere remarque : NE PAS OUBLIER " .style " en javascript !!!!

@+

-- The Rubik's Man --
Messages postés
71
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
21 novembre 2006

Merci beaucoup! C'est très clair maintenant grâce à rubiks10!

[Black]Radio/Black[Red]Head/Red[Yellow]4/Yellow[Green]Ever/Green