Bon ok.. j'viens vous aider
La fonction JS qui cache les éléments
function aff_paneau(id_panneau) {
var date_expire = new Date();
var time_expire = date_expire.getTime() + 365*24*60*60*1000;
date_expire.setTime(time_expire);
if (document.getElementById(id_panneau).style.display == "block") {
document.getElementById(id_panneau).style.display = "none";
document.cookie = id_panneau+"=false; expires ="+date_expire;
} else {
document.getElementById(id_panneau).style.display = "block";
document.cookie = id_panneau+"=true; expires ="+date_expire;
}
}
Attention ! Le type block marche pour les élément du type block.. (div, table..)
Pour les éléments d'un tableau (cellule, ligne) c'est autre chose ! (table-row, table-cell) de meme pour les éléments d'une liste. A toi de te renseigner.
Maintenant, on part de la base que tu as un div. Il faut qu'il ait ces propriétés :
<div style="display:block;" id="mon_div">
pour qu'il soit affiché au départ
<div style="display:none;" id="mon_div">
pour qu'il soit masqué au départ
Apres tu n'as qu'à appeler la fonction avec comme parametre le nom de l'id de ton div pour l'afficher ou le cacher. Genre :
<a href="#" onClick="aff_paneau('mon_div');">Montrer/Cacher</a>
P.S. Je t'ai mis en plus de quoi enregistrer dans un cookie le status de l'affichage du div.. Ce qui fait qu'avec PHP, tu peux gérer après l'affichage ou non en fonction de ton cookie en choisant none ou block pour le display du div..