Cookies avec expand-collapse

steve2206 Messages postés 96 Statut Membre -  
steve2206 Messages postés 96 Statut Membre -
Salut à tous,

je suis en train de créer un menu perso avec expand-collapse dans des tableaux. Le tableau s'agrandi et se réduit bien, mais je souhaite aussi que cela reste comme l'utilisateur l'a choisi (ouvert ou fermé) et donc passer par les cookies. Problème: je n'y comprend rien! J'ai lu pas mal de tuto sur la quastion, mais aucun ne répond exactement à ma question: les seuls cookies avec expand-collapse que j'ai trouvé sont utilisé avec des menus en <ul> et <li> ou autre alors que j'utilise des <h> et des <div>.

Bref, voici le code utilisé pour afficher un tableau:
(une ligne fixe avec lien cliquable pour agrandir et réduire une 2è ligne située juste en dessous)
<div id="boite_footer_sstitre">
    	<h5>	<span class="conr">
<a href="javascript:appear('q7')"><img src="<?php echo $exp_img?>" alt="Collapse" id="img_<?php echo $cat_count?>" /></a></span>
			<span><strong><a href="javascript:appear('q7')">essai q7</a></strong>
</span></h5>
	<div class="box"><div id="q7">
aaa
    </div></div>   

Et voici le code javascript utilisé pour faire marcher l'expand-collapse:
appear=function(id) {

    var d = document.getElementById(id);
    if (d.style.display!="none") {
        d.style.display ="none";
    } else {
        d.style.display ="";
    }
}

Jusque là, tout marche. Mon soucis arrive comme je l'ai expliqué avec les cookies. Voici le code qu'on m'a donné sur internet pour lequel on m'a certifier qu'il marchait:
function memCookie()
{ var da = new Date();
  var d=new Date(Date.parse(da)+(1000*60*60*24*365));
  document.cookie=
      document.getElementById(q3).style.display + ";expires=" + d.toGMTString() + ";" ;
}
 var cook=document.cookie;


Mais voilà, lorsque j'actualise la page, si j'ai décidé de réduire la cellule, celle-ci se réouvre... Help.
A voir également:

3 réponses

steve2206 Messages postés 96 Statut Membre 1
 
on m'a fait une remarque pertinante sur un autre forum que je cite ici afin d'aider les personnes désirantes de résoudre on problème:

"""
En fait, memCookie() te sert actuellement à stocker un cookie, mais tu ne vérifies pas la valeur du cookie avant d'expand ou de collapse ton tableau.
Il faudrait que tu fasses une fonction qui récupère le cookie au démarrage de la page, si le cookie est égal à "non", il ne faut pas l'afficher, sinon, il faut l'afficher.
"""
0
thifoolish Messages postés 79 Statut Membre 18
 
Bonjour,

Je suis tout à fait d'accord avec ce que dit ce message.
Il te faut faire une fonction qui récupère la valeur de ton cookie au chargement de la page.

Il ne faut pas oublier que certains utilisateurs refusent les cookies (extension noscript sur firefox, configurations personnalisées des navigateurs internet). Il te faudra donc veiller à ce que ton menu marche même sans cookie.

Cordialement.
0
steve2206 Messages postés 96 Statut Membre 1
 
la question maintenant est: comment faire... lol
0