Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Gallery] - Template avec commentaires
#14

En fouillant un peu (firebug me renvoie plus d'erreur de javascript du à ma version firefox pour linux que d'erreurs javascript de mon script mais j'ai vu que je ne peux pas appeler la propriété style directement comme je le faisais dans ma boucle "for") je suis tombé sur ça
http://www.siteduzero.com/forum-83-36955...gname.html
qui m'a donné la solution donc :
Code :
<script type="text/javascript">
function affiche(photo_id){
nb=document.getElementsByTagName("blockquote").length;
for(i=0;i<nb;i++){
document.getElementsByTagName("blockquote")[i].style.display = "none";
}
document.getElementById(photo_id).style.display="block";
}
</script>
Mais quelqu'un peut-il me dire pourquoi ce code fonctionne ?
Code :
<script type="text/javascript">
function affiche(photo_id){
var zones = document.getElementsByTagName("blockquote");
for (zone in zones){
zones[zone].style.display = "none";
document.getElementById(photo_id).style.display="block";
}

}
</script>
Ca ne devrait pas fonctionner, si la propriété style ne peut pas être appelée directement sur mon zones[zone].style.display, pourquoi ça fonctionne (tous les blockquote sont cachés et la boucle se termine vu que le blockquote sélectionné s'affiche)
Les mystères de javascript sont parmis nous ?
Et pourquoi d'ailleurs je n'arrive pas à récupérer le style via ma boucle? zones[zone] est au final bien un membre de la collection zones que j'ai récupéré non?
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)