Ir para conteúdo

POWERED BY:

Arquivado

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

paulo89

Show/hidden

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce vai ter q usar um FOR, pode usar a mesma logica deste script:

 

<style>.div{font-family: verdana;font-size: 11px;border:1px solid #000000;width:300px;height: 200px;}td{font-family: verdana;font-size: 11px;}</style><script>function AbreAba(nome_div){var total_divs = document.getElementsByTagName('div').length;var div = "";var td = "";for (var i=1; i < total_divs+1; i++){div = "div"+i;td = "td"+i;document.getElementById(div).style.display = "none"; document.getElementById(td).style.backgroundColor = "";document.getElementById(div).className="div"; if (div == nome_div){document.getElementById(nome_div).style.display = "block"; document.getElementById(td).style.backgroundColor = "#CCCCCC";}}}</script><body onload="AbreAba('div1')"><table border="1" width="300" cellspacing="0" bordercolordark="#000000">	<tr>		<td id="td1"><a href="#" onclick="AbreAba('div1')">Div 1</a></td>		<td id="td2"><a href="#" onclick="AbreAba('div2')">Div 2</a></td>		<td id="td3"><a href="#" onclick="AbreAba('div3')">Div 3</a></td>	</tr></table><div id="div1"><br><br>INFORMAÇÕES PARA A DIV 1</div><div id="div2"><br><br>INFORMAÇÕES PARA A DIV 2</div><div id="div3"><br><br>INFORMAÇÕES PARA A DIV 3</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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.