Jump to content


Photo

Aparacer E Desaparecer Ul E Gravar Cookie...


  • Faça o login para participar
3 replies to this topic

#1 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 22/04/2006, 17:58

Bem pessoal, nosso conselheiro xxALExx desenvolveu creio eu este código:

<script language="JavaScript" type="text/javascript">

window.onload = function()
{
var cookies = document.cookie;

cookienome = 'Photoshop';

if ( cookies )
{
var inicio = cookienome.length+1;
var fim = cookies.length;

if ( new RegExp( cookienome+'=' ).test( cookies ) )
{
mostcookie = cookies.slice( inicio, fim );

document.getElementById( mostcookie ).style.display = 'block';
}
else
{
ul = document.getElementById( 'menus' ).getElementsByTagName( 'ul' );

for ( i=0; i < ul.length; i++ )
{
ul.item( i ).style.display = 'none';
}
}
}
}

function gravaCookie( a, b )
{
data = new Date();
data.setTime( data.getTime() + (60*60*24*1000) );

var expires = ";expires=" + data.toGMTString();

document.cookie = cookienome + '=' + a + expires;

if ( b )
{
var expires = ";expires=''";

document.cookie = cookienome + '=' + expires;
}
}

function submenu( menu )
{
sm = document.getElementById( menu );

if(sm.style.display=="none")
{
document.getElementById(menu + "_span").innerHTML = "[-]";

ul = document.getElementById( "menus" ).getElementsByTagName( "ul" );

for( i=0; i<ul.length; i++ )
{
ul.item( i ).style.display = "none";
}

sm.style.display = "block";
gravaCookie( menu,false );
}

else
{
document.getElementById(menu + "_span").innerHTML = "[+]";

sm.style.display = "none";
gravaCookie( "",true );
}
}

</script>

Eu só dei uma limpadinha nele :rolleyes: e adicionei um trechinho com a ajuda do siola para exibir indicadores de aberto e fechado.

Sua utilização é:

<div id="menus">
<a href="java script:;" onclick="submenu('sub');">Menu um</a>
<ul id="sub" style="display:none;">
<li> xxxxx </li>
<li> xxxxx </li>
<li> xxxxx </li>
</ul>
<br />
<a href="java script:;" onclick="submenu('subdois');">Menu dois</a>
<ul id="subdois" style="display:none;">
<li> zzzzz </li>
<li> zzzzz </li>
<li> zzzzz </li>
</ul>
</div>


Pois bem isso faz com que um <UL> abra três <LI>'s que estavam ocultos.
E ainda grava um cookie para o caso da pessoa transitar entre páginas e querer "saber onde estava".

Pois bem funciona direitinho, mas para meu caso preciso de algo um pouco a mais.
Para minha situação eu preciso que cada <UL> abra um segundo <UL> e esse segundo <UL> abra o(s) <LI>'s.

Assim:

<UL>
---<UL>
-------<LI>
-------<LI>
-------<LI>
----</UL>
</UL>

Abrindo e fechando claro :P

Creio que vá precisar de alterações no código, talvez até a criação de uma quarta função, para manipular o outro nível.

OU se alguém puder ou tiver uma função "mais limpa" (porque essa eu não entendi muito :assobio: ) e que faça "tudo de uma vez" (ou usando um só código) seria bom demais e solucionaria uma penca de problemas aqui pra mim.

[]'s

#2 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 24/04/2006, 09:01

http://webfx.eae.net...tree/index.html
Eduardo Batista

#3 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 24/04/2006, 18:38

Ed esse script é demias, cara muito fácil de usar, mas...

A idéia do script que o xxALExx tinha passado e eu copei :assobio: era baseado no getElementById de uma DIV.

Esse script monta o menu perfeito, não quero deixar de usá-lo. Mas como que eu associo os itens do menu à uma DIV que possa aparecer.

Desculpa se tem isso na documentação, mas é que meu inglês não é bom.

[]'s

#4 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 05/05/2006, 17:40

Sem querer abusar da boa vontade de vocês, mas já torrando as paciências alguém saberia me dar uma mão, um braço e uma perna pra usar esse script?
Não consigo fazê-lo abrir alguma coisa "do lado" do menu.
Queria tipo aqueles frames antigões, uma menu esquerdo e um "corpo".
Só que ao invés de serem frames, serem duas DIV's, lado-a-lado.

[]'s




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq