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

[Résolu] Menu cascade - aide pour modifier mon template
#6

Jean, je n'ai pas tester ta solution mais j'ai utilisé plutôt celle-ci:
Code :
<script type="text/javascript">
<!--
$(document).ready( function () {
     // On cache tout les sous-menus  
    // on affiche celui qui est derrière un "li.active" :  
    $(".menu ul.sousmenu").hide();  
    $(".menu li.active").parent("ul").show();
  
    // On sélectionne tous les items de liste portant la classe "toggle"
    // et on remplace l'élément span qu'ils contiennent par un lien :
    $(".menu li.toggle span").each( function () {
        // On stocke le contenu du span :
        var TexteSpan = $(this).text();
        $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ;
    } ) ;

    // On modifie l'évènement "click" sur les liens dans les items de liste
    // qui portent la classe "toggle" :
    $(".menu li.toggle > a").click( function () {
        // Si le sous-menu était déjà ouvert, on le referme :
        if ($(this).next("ul.sousmenu:visible").length != 0) {
            $(this).next("ul.sousmenu").slideUp("normal", function () { $(this).parent().removeClass("open") });
        }
        // Si le sous-menu est caché, on ferme les autres et on l'affiche :
        else {
            $(".menu ul.sousmenu").slideUp("normal", function () { $(this).parent().removeClass("open") });
            $(this).next("ul.sousmenu").slideDown("normal", function () { $(this).parent().addClass("open") });
        }
        // On empêche le navigateur de suivre le lien :
        return false;
    });
} ) ;
// -->
</script>

Voilà le tour est joué et tout fonctionne impeccablement.

C'est en forgeant que l'on devient forgeron !
Sujet fermé


Messages dans ce sujet

Atteindre :


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