Ceci est juste une question vraiment novice sur jQuery mais je l'utilise juste pour créer un simple menu accordéon. Le ouput HTML est comme ceci:Menu Accordéon jQuery
<ul id="nav-sub">
<li class="sub-level-0"><a href="#">Menu Item One</a></li>
<li class="parent-here last sub-level-0"><a href="#">Menu Item Two</a>
<ul>
<li class="here sub-level-1"><a href="#">Sub Menu Item One</a></li>
<li class="last sub-level-1"><a href="#">Sub Menu Item Two</a></li>
</ul>
</li>
Et le jQuery J'ai actuellement est:
$(document).ready(function() {
// Show the children of the first product on page load but leave the others hidden
$("ul#nav-sub li.parent-here ul").show();
// Then attach a visibility toggle to each of the parents
if ($("ul#nav-sub li.sub-level-0 ul").size > 0) {
$("ul#nav-sub li.sub-level-0 > a").click(function(){
$(this).next().slideToggle("slow");
return false; //Prevent the browser jump to the link anchor
});
}
});
Ceci est le plus proche que je peux l'obtenir pour fonctionner pleinement, mais la seule chose qui ne fonctionne pas est l'animation à bascule. Au lieu d'une transition lente, il saute simplement à droite. Ce que je veux essentiellement, c'est obtenir l'effet de transition lente mais aussi retourner false (empêcher l'action du navigateur par défaut de suivre l'ancre de lien) si l'élément de menu a des enfants (une liste secondaire - comme montré ci-dessus sur Menu Point deux). J'ai besoin du Menu Item One pour retourner vrai et aller directement à cette page.
Merci
Quel est le motif de ne pas utiliser l'un des plug-ins d'accordéon existants? – Lazarus
Avez-vous jeté un coup d'œil à [JqueryUI] (http://jqueryui.com/demos/) ou est-ce que vous cherchez vraiment à le construire vous-même pour apprendre ou quelque chose? – gideon
J'ai entendu parler de l'interface utilisateur de jQuery et je connais les options de l'accordéon, mais oui, je viens d'entrer dans jQuery et je veux écrire tout ce que je peux pour me familiariser avec lui. Quand je suis confiant avec cela, jQuery UI fournira un gain de temps utile mais pas avant. – Ian