Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Guarda sessão


_Vinny_

Pergunta

Tenho esse código

<script type="text/javascript">
        function edr_collapsible(catid)
        {
            if (document.getElementById('cat' + catid).style.display != 'none')
            {
                document.getElementById('cat' + catid).style.display = 'none';
                document.getElementById('link' + catid).alt = '[+]';
                document.getElementById('link' + catid).src = '/images/ccats_expand.gif';
            }
            else
            {
                document.getElementById('cat' + catid).style.display = '';
                document.getElementById('link' + catid).alt = '[-]';
                document.getElementById('link' + catid).src = '/images/ccats_collapse.gif';
            }
        }
</script>

<a href="java script: edr_collapsible(1);"><img alt="[-]" id="link1" src="images/ccats_collapse.gif"></a>&nbsp;<a href="test.php">Test 1</a>

<div id='cat1'>teste</div>

Ele funciona legal, mas não guarda a informação de mostrar/esconder, tem mexer no codigo para fazer isso?

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

kuroi, no código que postei é um simples script que esconde/mostra um certo conteúdo dentro da div quando clicado no link. O problema é que ao esconder ou mostrar, essa definição não é guardada e ao recarregar a página volta ao estado original de como é o HTML, o que pretendo fazer e salvar a definição de quando é mostrado/escondido o conteúdo.

Eu encontrei outros scripts, porém muito mais complexos e muito pesadoss usando jquery, e eu quero usar esse que postei que é simples e leve.

Link para o comentário
Compartilhar em outros sites

  • 0

Cookie é fácil ... adaptei seu código para usar cookies mas não ficou tão pequeno :P

<script type="text/javascript">
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 edr_collapsible(catid) {
 if (document.getElementById('cat' + catid).style.display != 'none') {
  document.getElementById('cat' + catid).style.display = 'none';
  document.getElementById('link' + catid).alt = '[+]';
  document.getElementById('link' + catid).src = '/images/ccats_expand.gif';
  createCookie(("DivId" + catid), "true", 365);
 } else {
  document.getElementById('cat' + catid).style.display = '';
  document.getElementById('link' + catid).alt = '[-]';
  document.getElementById('link' + catid).src = '/images/ccats_collapse.gif';
  createCookie(("DivId" + catid), "false", 365);
 }
}
</script>

<a href="java script:edr_collapsible(1);"><img alt="[-]" id="link1" src="images/ccats_collapse.gif"></a>&nbsp;<a href="test.php">Test 1</a>
<div id='cat1'>teste</div>
<br />
<a href="java script:edr_collapsible(2);"><img alt="[-]" id="link2" src="images/ccats_collapse.gif"></a>&nbsp;<a href="test.php">Test 2</a>
<div id='cat2'>teste</div>
<br />
<a href="java script:edr_collapsible(3);"><img alt="[-]" id="link3" src="images/ccats_collapse.gif"></a>&nbsp;<a href="test.php">Test 3</a>
<div id='cat3'>teste</div>

<script type="text/javascript">
function memoryStatus(catid) {
 var cookie = readCookie(("DivId" + catid));
 if (cookie != null) {
  if (cookie == "true") {
   document.getElementById('cat' + catid).style.display = 'none';
   document.getElementById('link' + catid).alt = '[+]';
   document.getElementById('link' + catid).src = '/images/ccats_expand.gif';
  } else {
   document.getElementById('cat' + catid).style.display = '';
   document.getElementById('link' + catid).alt = '[-]';
   document.getElementById('link' + catid).src = '/images/ccats_collapse.gif';
  }  
 }
}

for (var i = 1; i <= 3; i++) { memoryStatus(i); }
</script>

Link para o comentário
Compartilhar em outros sites

  • 0
Cookie é fácil ... adaptei seu código para usar cookies mas não ficou tão pequeno

Ficou muito menor do que eu usava. Porém não funcionou aqui -.-'

Alias, no link que esta assim:

<a href="java script:edr_collapsible(3);">

O correto seria:

<a href="javascript: edr_collapsible(3);">

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui funciona de boa testado no IE 8 e FF 3.6.13 :P

Quanto a esse erro de dar espaço na palavra "javascript" e culpa do fórum IBP ... ele tem essa 'trava' se segurança para não ativar códigos malicisos assim como trava para conteudo Flash entre outras dessas pequenas travas ... mas basta tirar o espaço.

Link para o comentário
Compartilhar em outros sites

  • 0
Aqui funciona de boa testado no IE 8 e FF 3.6.13 :P

Quanto a esse erro de dar espaço na palavra "javascript" e culpa do fórum IBP ... ele tem essa 'trava' se segurança para não ativar códigos malicisos assim como trava para conteudo Flash entre outras dessas pequenas travas ... mas basta tirar o espaço.

Revendo aqui até funcionou no IE5+, FF3+ e Opera10, mas no Chrome não funciona -.-'

É... o problema do espaço eu percebi quando postei minha resposta :huh:

Link para o comentário
Compartilhar em outros sites

  • 0

Bem testei aqui no Chorme (versão 8) e relamente não funcionou ...

Fui procurar a causa e descobri que o Chorme não aceita cookie de um arquivo local ...

Referência: http://stackoverflow.com/questions/335244/...-jquery-cookies

Bastei jogar o arquivo num servidor online que funciou de boa ... então teste online ...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...