Ensuite lorque je fais passe sur une image, ca me met sur n'importe
laquelle de celle ci, la valeur 11, je change la valeur de {Note(i);}
par {Note(2);} et ca m'assigne logiquement 2
Cela se produit aussi bien sous IE que sous Firefox, j'ai donc
l'impression, que seul la derniere valeur est pris en compte dans mon
code pour toutes les images :(
Auriez vous une idée quand à la résolution du problème ?
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 octobre 2007 24 févr. 2005 à 12:14
Bonjour
Explication du probleme : ta fonction Note reçoit la valeur de i au moment ou l'évènement se produit. Pour t'en convaincre, après ta boucle for, rajoutes i=555 et testes : ta fonction affichera à chaque fois 555
J'ai déjà m***é sur un problème similaire y'a pas longtemps, voici une solution de remplacement :
function Nn(evt)
{
var obj=null;
obj=(document.all)?window.event.srcElement:evt.target;
alert(obj.alt);
}
function window_onload()
{
//Nn();
for(var i=0; i < 11; i++)
{
document.getElementById("Note").getElementsByTagName("img")[i].onmouseover = Nn ;
}
}
//-->
</SCRIPT>
Pour ce qui est du HTML :
Notes
</HTML>
( J'ai renommé la fonction Note car il y à déjà un div appelé ainsi, question de "convenance personnelle")
mes elements n'ont pas d'ID, et je prefere ne pas en mettre cette
méthode marche, car je modifie d'autres propriété comme ca. mais je ne
comprend pas pourquoi il me change pas ma variable i
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 24 févr. 2005 à 13:57
Pour répondre à coucou747
Je sais que la propriété name n'existe pas, je pense que tu me parles
de ca, car j'utilise la fonction getelementbytagname cette fonction
retourne un tableau qui contient toutes mes images de la div Note
Pour roro06, j'avais pas vu ca comme ca
je comprend la solution de remplacement, mais j'aurais preferé trouver
mieux :-/ car pour la description c'est pas ce qu'il y a de
mieux, j'aurais preferé être un peu plus "libre"
mais je vais me contenter de cette solution, ou sinon je vais peut etre essayé en faisant un
En tout cas merci à toi, de m'avoir expliqué d'ou venait le problème
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 24 févr. 2005 à 14:35
@chimelpremier
Ce que tu proposes resoud mon problème
et je pense que c'est surement plus compatible que de mettre un
event à la volée, et puis je prefere que ce soit fait un javascript,
car comme ca, j'ai plus de controle sur ma fonction Note, qui est loin
d'etre une simple alert
En tout cas merci à vous tous !
Il me reste une derniere question :
Notes
Notes
Pourquoi le premier marche, et pas le deuxieme ? l'evenenement load
n'existe pas sur un div, j'ai mis oninit et ca change rien :(
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 octobre 2007 24 févr. 2005 à 14:37
Bonjour
jesusonline : oui, tout à fait, c'est un test javascript
a=(b)?c:d; est équivalent de :
if (b)
a=c
else
a=d
Dans le cas présent, c'est bien pour la compatibilité IE (seul à connaître l'objet all) ne connaît pas la propriété target, et mozilla (et consort) ne connaît pas srcElement.
Développer javascript pour tous navigateurs : du pur bonheur !!!
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 octobre 2007 24 févr. 2005 à 15:08
Bonjour
Désolé, je ne connais pas Whidbey..
Je te confirme que le div ne connait pas le onload (à ma connaissance !)
Mais ta première solution était meilleure, et même celle proposée par chimelpremier
(window.onload=window_onload) encore meilleure.