Bonjour, J'utilise pour mon projet actuel un toogle pour ouvrir fermer ou cacher la sidebar droite la ça fonctionne pas de soucis ! La ou je sèche c'est pour le setcookie mon code js de base et celuis si : [code] $(document).ready(function(){ $(".icon-sort").click(function(){ $( this ).parent().next().slideToggle("slow"); }); }); [/code] avec ce code j'ouvre chaque bloc séparément maintenant je veut garder cette fonction, je vous donne un exemple : "j'ai trois bloc le 1 le 2 et le 3 je veut ouvrir le 1 et le 3 je passe par setcookie qui enregistre le choix donc je quitte le site et il reste ouvert pareil si je veut les fermer et ouvrir le 2 et vise ver ça." J'ai donc ce code qui fonctionne pour l'enregistrement mai tous les bloc s'ouvre en même temps : [code] $(document).ready(function () { $(".icon-sort").click(function () { var closed = $(".sidebar_container_right").is(":hidden"); if (closed) $(".sidebar_container_right").show(); else $(".sidebar_container_right").hide(); setCookie("open", closed, 365); }); var openToggle = getCookie("open"); if (openToggle=="true") { $(".sidebar_container_right").show(); } else { $(".sidebar_container_right").hide(); } }); function setCookie(c_name, value, exdays) { var exdate = new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()); document.cookie = c_name + "=" + c_value; } function getCookie(c_name) { var i, x, y, ARRcookies = document.cookie.split(";"); for (i = 0; i

2 réponses


Bonjour,

Tous les éléments conteneur de ta sidebar on la classe sidebar_container_right.

$(".icon-sort").click(function () {
        var closed = $(".sidebar_container_right").is(":hidden");
        if (closed)
            $(".sidebar_container_right").show(); // Je prends tous les elements qui ont la classe sidebar_container_right et je les affiche
        else
            $(".sidebar_container_right").hide(); // Je prends tous les elements qui ont la classe sidebar_container_right et je les cache

        ......
    });

Il ne faut pas que tu fasses la selection par cette classe uniquement.
Tu peux rajouter un identifiant pour retrouver plus facilement quel est le container associé à l'entete.
Tu peux également sélectionner l'élément suivant l'élément parent du this

$(".icon-sort").click(function () {
      $(this).parent().next().toggle();
        ......
    });

La methode toggle() permet d'alterne automatiquement entre show et hide.

Azerus

neecride
Auteur

Merci de votre réponse.

Je n'ai pas trop compris j'ai essayé pleins de permutation mai ça ne fait jamais ce que j'attend