Utilisation de jQuery cookie.js pour rappeler l’élément masquer / afficher?

J’ai trouvé un excellent tutoriel sur la manière d’afficher et de masquer une certaine div sur une page. Le code a bien fonctionné, mais j’aimerais étendre mon propos à la mémorisation de l’affichage / masquage au chargement de la page. J’ai cherché une solution. Un cookie jQuery était la solution .. si j’avais su écrire le code réel .. Voici l’extrait actuel:

 jQuery(document).ready(function() { // hides the group_desciption as soon as the DOM is ready // (a little sooner than page load) jQuery('#group_desciption').hide(); // shows the group_desciption on clicking the noted link jQuery('a#slick-show').click(function() { jQuery('#group_desciption').show('slow'); return false; }); // hides the group_desciption on clicking the noted link jQuery('a#slick-hide').click(function() { jQuery('#group_desciption').hide('fast'); return false; }); // toggles the group_desciption on clicking the noted link jQuery('a#slick-toggle').click(function() { jQuery('#group_desciption').toggle(400); return false; }); }); 

Avez-vous une idée de la manière dont je peux append les cookies pour mémoriser la sélection de l’utilisateur? Un exemple de code serait bien car j’essaie encore de comprendre jQuery / Javascript en général 🙂

Merci d’avance 🙂

Ça devrait être assez facile. Quand vous montrez la div, ajoutez du code comme:

 jQuery.cookie('show_desc', 'yep'); 

… et quand tu caches le div:

 jQuery.cookie('show_desc', 'nope'); 

… et ensuite en haut de votre code où vous avez:

 jQuery('#group_desciption').hide(); 

… changez le en:

 var shouldShow = jQuery.cookie('show_desc') == 'yep'; if( shouldShow ) { jQuery('#group_desciption').show(); } else { jQuery('#group_desciption').hide(); } 

Ou bien:

 jQuery('#group_desciption')[jQuery.cookie('show_desc') == 'yep' ? 'show' : 'hide'](); 

🙂