Hellooooo
Je fais un site dans lequel j'ai un menu gauche et un menu droit. Chaque menu est composé de sous menu, et chaque sous menu à un titre et un contenu.
Je souhaite faire un JavaScript qui me permettrait de fermer et ouvrir le contenu de chaque sous menu et de garder en mémoire (cookie) si le menu est ouvert ou fermer.
Suis-je suffisament clair ? (vous pouvez voir un exemple de ce que je veux sur paradiz-team sauf que là il y a un reload)
J'ai réussi à faire la fonction javascript pour fermer et ouvrir le menu mais j'ai des problèmes avec le cookie. Voici ma fonction :
cette fonction marche très bien, les menus s'ouvrent et se ferme sans problème. Je souhaite aussi sauvegarder le choix dans un cookie par la fonction :
j'ai aussi une fonction pour recupérer la valeur d'un cookie :
Au démarrage de ma page, je regarde pour chaque menu si le menu doit être afficher ou non d'après la valeur du cookie, par la fonction :
Tout cela marche presque bien :
quand je clique sur le bouton d'un menu, il s'ouvre (se ferme) et je crois qu'il créer le cookie avec la valeur qui correspond. Quand je recharge ma page le menu et bien dans la même configuration (ouvert ou fermer) MAIS si je ferme mon navigateur et que je le ré-ouvre, alors tous les menus sont ouverts (comme s'il n'y avait pas de cookie).
Où ai je fait une erreur ? Dans ma fonction setCookie ? getCookie ?
Merkkiiii de m'aider
poich
Modifié par Poich (13 May 2005 - 19:14)
Je fais un site dans lequel j'ai un menu gauche et un menu droit. Chaque menu est composé de sous menu, et chaque sous menu à un titre et un contenu.
Je souhaite faire un JavaScript qui me permettrait de fermer et ouvrir le contenu de chaque sous menu et de garder en mémoire (cookie) si le menu est ouvert ou fermer.
Suis-je suffisament clair ? (vous pouvez voir un exemple de ce que je veux sur paradiz-team sauf que là il y a un reload)
J'ai réussi à faire la fonction javascript pour fermer et ouvrir le menu mais j'ai des problèmes avec le cookie. Voici ma fonction :
function open_close_menu(div,divImage) {
var TIME_COOKIE = 3600;
var element = document.getElementById(div);
if (element.style.display == 'none')
{
element.style.display = 'block';
divImage.style.backgroundImage = "url(../skin/skin_gpsactionreplay/menu/bouton_moins.gif)";
setCookie(div,'open',TIME_COOKIE);
}
else
{
element.style.display = 'none';
divImage.style.backgroundImage = "url(../skin/skin_gpsactionreplay/menu/bouton_plus.gif)";
setCookie(div,'close',TIME_COOKIE);
}
}
cette fonction marche très bien, les menus s'ouvrent et se ferme sans problème. Je souhaite aussi sauvegarder le choix dans un cookie par la fonction :
function setCookie(nom, valeur, expiration) {
var cook = ""+nom + "=" + escape(valeur) + ((expiration == null) ? "" : ("; expires=" +expiration))+";";
document.cookie = cook;
}
j'ai aussi une fonction pour recupérer la valeur d'un cookie :
function getCookie(nom) {
var recherche = nom+ "=";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(recherche);
if (offset != -1) { // si le cookie existe
offset += recherche.length;
// position du début
fin = document.cookie.indexOf(";",offset);
// position de la fin
if (fin == -1)
fin=document.cookie.length;
return unescape(document.cookie.substring(offset, fin));
}
}
}
Au démarrage de ma page, je regarde pour chaque menu si le menu doit être afficher ou non d'après la valeur du cookie, par la fonction :
function set_open_close_menu(id_sous_menu,divImage){
var element = document.getElementById(id_sous_menu);
if(getCookie(id_sous_menu) == 'close')
{
// si le sous menu doit etre close :
element.style.display = 'none';
divImage.style.backgroundImage = "url(../skin/skin_gpsactionreplay/menu/bouton_plus.gif)";
}
else
{
// si le sous menu doit etre open :
element.style.display = 'block';
divImage.style.backgroundImage = "url(../skin/skin_gpsactionreplay/menu/bouton_moins.gif)";
}
}
Tout cela marche presque bien :
quand je clique sur le bouton d'un menu, il s'ouvre (se ferme) et je crois qu'il créer le cookie avec la valeur qui correspond. Quand je recharge ma page le menu et bien dans la même configuration (ouvert ou fermer) MAIS si je ferme mon navigateur et que je le ré-ouvre, alors tous les menus sont ouverts (comme s'il n'y avait pas de cookie).
Où ai je fait une erreur ? Dans ma fonction setCookie ? getCookie ?
Merkkiiii de m'aider
poich
Modifié par Poich (13 May 2005 - 19:14)