Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

webcaju

[Resolvido] Gravar parâmetro em cookie

Recommended Posts

Galera como gravo o parametro classe em um cookie para que durante a navegação o usuário mantenha o valor definido apenas quando o usuário mudar o valor da classe ele mude e mantenha...

 

<head>
.
.
.
<script type="text/javascript">
       function mudaFundo(classe) {
               document.getElementsByTagName("body")[0].className = classe;
       }
</script>
.
.
.
</head>

<body class = "bg1">
.
.       
.
               <div id = "fundo" class = "grid_16" title = "Mulheres do Bola" align = "right">
                       <a onclick = "mudaFundo('bg1');"><img src = "<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/images/outono.png" alt = "Outono" title = "Outono" style = "display = block;"></a>
                       <a onclick = "mudaFundo('bg2');"><img src = "<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/images/inverno.png" alt = "Inverno" title = "Inverno" style = "display = block;"></a>
                       <a onclick = "mudaFundo('bg3');"><img src = "<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/images/primavera.png" alt = "Primavera" title = "Primavera" style = "display = block;"></a>
                       <a onclick = "mudaFundo('bg4');"><img src = "<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/images/verao.png" alt = "Verão" title = "Verão" style = "display = block;"></a>
               </div>
.
.
.

 

 

Valew....

Compartilhar este post


Link para o post
Compartilhar em outros sites

No site QuirksMode, há três funções prontas para a manipulação de cookies:

 

function createCookie(name, value, days) {
   if (days) {
       var date = new Date();
       date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
       var expires = "; expires=" + date.toGMTString();
   } else
   var expires = "";
   document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
   var nameEQ = name + "=";
   var ca = document.cookie.split(';');
   for (var i = 0; i < ca.length; i++) {
       var c = ca[i];
       while (c.charAt(0) == ' ') c = c.substring(1, c.length);
       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
   }
   return null;
}

function eraseCookie(name) {
   createCookie(name, "", -1);
}

 

Já está bem claro, mas vamos lá:

 

A função createCookie recebe três parâmetros: o nome do cookie, seu valor e o tempo até expirar.

A readCookie recebe o nome do cookie e retorna seu valor.

A eraseCookie apaga-o de acordo com seu nome.

 

Por exemplo, se você usar botões para definir o fundo da página, chame a função no botão, e passe os parâmetros necessários. Daí, quando carregar a página, leia o cookie, se ele não existir, a função retorna null, ao contrário retorna seu valor (por exemplo: azul, vermelho, etc.).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo Elizeu eu não manjo muito de Javascript, eu passaria o parametro como pois em cada link eu tenho <a onclick = "mudaFundo('bg1');"> eu passaria como bg1?

 

Teria de mudar os nomes nesse código?

 

Valew pela ajuda....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagine alguns links, cada um com uma cor:

 

<a href="#" onclick="mudaBg('blue');">Azul</a>
<a href="#" onclick="mudaBg('red');">Vermelho</a>
<a href="#" onclick="mudaBg('green');">Verde</a>

No fim da função mudaBg você pode chamar createCookie para definir o cookie, exemplo:

 

function mudaBg(cor) {
document.bgColor = cor;
createCookie("corFundo",cor,7); // aqui o cookie corFundo terá o valor passado no parâmetro e expirará em 7 dias
}

Ao carregar a página, você lê o cookie e já era:

 

<script>
var fundo = readCookie("corFundo");
if (fundo != null) {
document.bgColor = fundo;
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.