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']();
🙂