2014-06-25 1 views
0

J'ai créé un menu qui utilise jQuery slideDown/slideUp pour afficher/masquer les éléments de menu. le code jquery ressemblejQuery slideDown et slideUp - comment conserver l'instruction lors du changement de page

$(".menu-reveal a").click(function() { 
    if ($(".menu").is(":visible")) { 
     $(".menu").slideUp(300); 
     $(".menu-reveal").removeClass("revealed"); 
    } else { 
     $(".menu").slideDown(300); 
     $(".menu-reveal").addClass("revealed"); 
    } 
}); 

Site chargement par défaut avec des éléments de menu « cachés », puis aux besoins des visiteurs de cliquer pour voir les éléments de menu.

Ma question est de savoir comment je peux "garder" une déclaration de menu si elle a été étendue ou non lors du changement de page? Pour un exemple, je veux l'afficher à la page suivante quand il a été développé sur une page précédente.

+1

Vous devrez utiliser un cookie javascript. – David

+0

Voici ce à quoi je m'attendais - utilisez cookie ou save dans une session. – JackTheKnife

Répondre

0

Voici le code de travail:

$(".menu-reveal a").click(function() { 
    if ($(".menu").is(":visible")) { 
     $.removeCookie("top-menu", { path: '/' }); 
     $(".menu").slideUp(300); 
     $(".menu-reveal").removeClass("revealed"); 
    } else { 
     $(".menu").slideDown(300); 
     $(".menu-reveal").addClass("revealed"); 
     $.cookie("top-menu", 1, { path: '/' }); 
    } 
}); 

// Permanent top menu 
    var cookieTopMenu = $.cookie("top-menu"); 

    if (cookieTopMenu == 1){ 
     $(".menu").slideDown(1); 
     $(".menu-reveal").addClass("revealed");  } 
    else { 
     $(".menu").slideUp(1); 
     $(".menu-reveal").removeClass("revealed"); 
    } 

Je l'ai utilisé jQuery cookie plugin pour obtenir les résultats souhaités.

Espérons que cela aidera quelqu'un d'autre.