11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

En utilisant jquery je souhaiterais reproduire l'effet menu déroulant que l'on trouve partout, mais sur un titre et son sous-titre.
Après avoir assimilé qq tutos sur la question et sur le fonctionnement du js plus généralement j'arrive à ce code simple qui ne fonctionne pourtant pas ...
une idée?

Je vous remercie par avance!


<div id="entete"> 
	<h1>Entete</h1> 
	<p class="sous-titre"> 
		Lorem ipsum dolor sit amet.
	</p>
</div><!-- fin entete -->



<script type="text/javascript"> 
	<!-- 
	$(document).ready( function () { 
	 
    // On cache le sous-titre : 
    $("#entete p.sous-titre").hide(); 
	
    // On sélectionne le titre et on lui rajoute un lien (pour avoir un truc propre)
    $("#entete h1").each( function () { 
        // On stocke le contenu du span : 
        var TexteTitre = $(this).text(); 
        $(this).replaceWith('<a href="" title="Affiche le sous-titre">' + Textetitre + '<\/a>') ; 
    } ) ; 
 
    // On modifie l'évènement "click" sur les liens dans les items de liste 
    $("#entete h1 > a").click( function () { 
        // Si le sous-menu était déjà ouvert, on le referme : 
        if ($("p.sous-titre:visible").length != 0) { 
            $("p.sous-titre").slideUp("normal"); 
        } 
        // Si le sous-menu est caché ... on l'ouvre! 
        else { 
            $("#entete p.sous-titre").slideDown("normal"); 
        } 
		
        // Au passage je n'ai pas compris pourquoi on devait empêcher le navigateur de suivre le lien avec return false dans la mesure où le lien créé est vide
        return false; 
    });  
		
	} ) ; 
	
// --> 
</script>


Je vous remercie de mettre fin à mon calvaire, je ne comprends pas pourquoi cela ne marche pas ... et je suis sûr que cela est du à une bete erreur de syntaxe ...
Cordialement,
Clément
Bonjour,

Après une première lecture rapide, "TexteTitre" est également orthographié "Textetitre" dans ton script.
Comment se sentir con ...
Merci!

en le relisant à froid il y avait 2 tites autres erreurs. avec celle là cela fait 3 et tout marche correctement!
la semaine commence bien finalement Smiley smile
Bonjour,

Pour répondre à ta question :
// Au passage je n'ai pas compris pourquoi on devait empêcher le navigateur de suivre le lien avec return false dans la mesure où le lien créé est vide

C'est pour éviter un retour en haut de page Smiley cligne

Car j'imagine que ton lien est comme ceci :
<a href="#">exemple</a>