Texte apparaît si on clique sur un bouton html

Salut,

Je suis en train de faire un site web et je cherche à faire dérouler un texte quand on appuie sur un bouton, et replie le texte quand on réappuie. J'ai essayé un petit truc, mais ça ne marche pas:
Je fais ça dans un doc svelte.

Pour le java script j'ai:

var bool=true;
function cache(id){
if(bool==true){
document.getElementById(id).style.display='none';
bool=false;
}else{
document.getElementById(id).style.display='block';
bool=true;
}
}


et dans l'html:

  <div id="aCacher">texte test</div>  
<button on:click={cache('aCacher')} class="test">
clique pour afficher
</button>


Je ne comprends pas ce qui va pas. Merci de votre aide.

2 réponses

  1. Bonjour,

    Je pense que le problème est tout simplement dans la valeur de "onclick" du boutton :

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    
    <head>
    	<title>Exemple Afficher/Cacher</title>
    	<script>
    		var affiche = true;
    		
    		function cacher(id){
    			var test = document.getElementById(id);
    			if(affiche){
    				test.style.display='none';
    				affiche = false;
    			}else{
    				test.style.display='block';
    				affiche = true;
    			}
    		}
    	</script>
    </head>
    
    <body>
    	<div id="test">Contenu</div>
    	<br/>
    	<button onclick="cacher('test')">Afficher/Cacher</button>	
    </body>
    
    </html>
    
    0