Bonjour,
J'ai essayé de faire un code pour afficher / masquer une zone de texte a l'aide d'un lien qui switch quand on clic dessus.
ce lien permet egalement de modifié une donné du cookie "affichage"
je vous presente mon code et j'expose mon probleme ensuite
Code:
Le switch entre afficher / masquer se fait bien, mais le cookie n'est pas modifié au premier clic, mais seulement au deuxieme clic.
Quelqu'un pourrait m'aider a regler ce pb svp ?
J'ai essayé de faire un code pour afficher / masquer une zone de texte a l'aide d'un lien qui switch quand on clic dessus.
ce lien permet egalement de modifié une donné du cookie "affichage"
je vous presente mon code et j'expose mon probleme ensuite
Code:
<body>
<script language="JavaScript">
/* CREER COOKIE POUR AFFICHAGE LISTE DES CONNECTER */
var pathname=location.pathname;
var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var date_exp = new Date();
date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));
// Ici on définit une durée de vie de 365 jours
function SetCookie (name, value) {
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=name+"="+escape(value)+
((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");
}
function getCookieVal(offset) {
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1)
endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if (document.cookie.substring(i, j)==arg)
return getCookieVal (j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;}
return null;
}
/* FONCTION AFFICHAGE / CACHE DE LA LISTE DES CONNECTES */
function afficheouinon()
{
var elt = document.getElementById('contenu');
ouinon = GetCookie('affichage');
if(elt.style.display != "block"){
SetCookie("affichage", "non");
elt.style.visibility = "visible";
elt.style.display = "block";
var jakolink = document.getElementById('clictitre');
jakolink.innerHTML = " connectés ( masquer )";
}
else {
SetCookie("affichage", "oui");
elt.style.visibility="hidden";
elt.style.display = "none";
var jakolink = document.getElementById('clictitre');
jakolink.innerHTML = " connectés ( afficher )";
}
}
function load_affiche()
{
var elt = document.getElementById('contenu');
ouinon = GetCookie('affichage');
if(ouinon != "non"){
elt.style.visibility = "visible";
elt.style.display = "block";
var jakolink = document.getElementById('clictitre');
jakolink.innerHTML = " connectés ( masquer )";
}
else {
elt.style.visibility="hidden";
elt.style.display = "none";
var jakolink = document.getElementById('clictitre');
jakolink.innerHTML = " connectés ( afficher )";
}
}
</script>
<? $aff = $HTTP_COOKIE_VARS['affichage']; ?>
<div onClick="afficheouinon();"><a href="#" id="clictitre">afficher</a></div>
<div id="contenu">nyanyanyanyanyanya</div>
<script language="JavaScript">load_affiche();</script>
</body>
Le switch entre afficher / masquer se fait bien, mais le cookie n'est pas modifié au premier clic, mais seulement au deuxieme clic.
Quelqu'un pourrait m'aider a regler ce pb svp ?