Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Viva,
Tenho esta função para fazer mostrar e ocultar as divs:
function showhide(id) { if (document.getElementById){ if(document.getElementById(id).style.display == 'none'){ document.getElementById(id).style.display = 'block'; } else { document.getElementById(id).style.display = 'none'; } }}
Ela funciona bem quando eu clico mostra o conteudo,clicando novamente ela oculta, mas o meu problema é o seguinte:
Eu queria que ela ocultase todas as divs abertas antes de abrir uma nova.
Ex.: div x aberta , ao clicar na para mostrar a div y ela ocultase a div x e abrise a y.
Espero que tenha dado para entender.
Abraços
Paulo Ferreira
ok obrigado pela atenção, já fiz aqui umas tentativas mas sem resultados, vou continuar a tentar.
eu fiz um esquema parecido a pouco tempo, vê se serve pra você
function abreFecha(id){ divs = window.document.getElementById('box_abrefecha').getElementsByTagName('div') var x for(x in divs){ if((divs[x] == '[object]') || (divs[x] == '[object HTMLDivElement]')){ //esse if é necessário porque o vetor que recebe as divs recebe também mais alguns valores provenientes do DOM divs[x].style.display = 'none' } } window.document.getElementById(id).style.display = 'block'}
no meu caso a página possuia uma div e dentro dela alguns h4 e divs,
eu queria fechar todas as divs e deixar apenas a selecionada aberta.
assim:
<div id="box_abrefecha"> <h4 onclick="abreFecha('div1')">Blablalba</h4> <div id="div1">blabalba</div> <h4 onclick="abreFecha('div2')">Blablalba</h4> <div id="div2">blabalba</div> </div>
tenta adaptar pro seu caso
Voce vai ter q usar um FOR, pode usar a mesma logica deste script: