Masquer des images avec javascript

L -  
 L -
Bonjour,

voilà j'aimerais cacher/afficher des images après avoir cocher un checkbox (ou un bouton radio) qui s'appelle ici "partie 1".
mon code:

<input type="checkbox" value="part1" onclick="voirImg()"/>partie 1<br/>   
<div id='lesimages'>   
   <img src="images/image1.jpg" alt="fond1"><br/>   
   <img src="images/image2.jpg" alt="fond2"><br/>   
</div>   

<script>   
function voirImg() {   

var lesImg=document.getElementById('lesimages');   
for (var i=0; i<lesImg.length; i++) {   
  if ( lesImg[i].style.display == 'block') { lesImg[i].style.display = 'none';}   
  else { lesImg[i].style.display = 'block';}   
}   

}   
</script>   


et j'ai initialisé dans le css:
#lesimages {display: 'none';}


mais je suis là donc ça ne marche pas: les images sont bien masquées mais cocher ne change rien.
Donc si quelqu'un pourrait me donner un p'tit coup de pouce ça serait top!! merci :)
A voir également:

3 réponses

js95 Messages postés 804 Statut Membre 354
 
<div id='lesimages'> 

Ce code est incorrect. Les valeurs des attributs doivent être entre guillemets.
1
js95 Messages postés 804 Statut Membre 354
 
for (var i=0; i<lesImg.length; i++) { 

le caractère < est source d'erreurs pour le navigateur.
Enveloppe le code de la balise script dans un bloc CDATA pour lever ce problème :

<script>

//<![CDATA[
 
function voirImg() {   

var lesImg=document.getElementById("lesimages");   
for (var i=0; i<lesImg.length; i++) {   
  if ( lesImg[i].style.display == "block") { lesImg[i].style.display = "none";}   
  else { lesImg[i].style.display = "block";}   
}   

} 

//]]>
  
</script>

C'est moche mais ça marche.
1
js95 Messages postés 804 Statut Membre 354
 
J'ai un code semblable dans mon site mais j'utilise les guillemets pour les chaînes de caractères en Javascript (on peut utiliser les apostrophes mais bon).
0
js95 Messages postés 804 Statut Membre 354
 
En fait sans le CDATA le < peut être interprété comme un début de balise, ce qui peut provoquer des problèmes.
0
L
 
Merci beaucoup c'était surtout à cause des guillemets et apostrophes ^^'
Bye
0