Ir para conteúdo

POWERED BY:

Arquivado

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

Freelife

Coo fechar dois elementos ao mesmo tempo???

Recommended Posts

Tarde galera... beleza?!

 

então... to fazendo uma agenda ainda... to aqui testando pois não funfa php na rede... to eu aqui tentando fazer e conseguindo até aqui... mas surgiu um problema.

 

estou usando este comando para mostrar um div...:

onclick="document.getElementById('div1').style.display='block';" style="text-decoration:none;"

Mas dentro desse div que aparece tem um link que faz outro div aparecer.

onclick="document.getElementById('div2').style.display='none';" style="text-decoration:none;"

No primeiro div tem um botão com o comando:

onclick="document.getElementById('div1').style.display='none';" style="text-decoration:none;"

Que esconde novamente o div1, só que quando ele é clicado ele só fecha o primeiro div1. Eu imagino que para fechar os dois tem que colocar o id deles juntos, tipo assim:

 

onclick="document.getElementById('dia1''div2').style.display='none';" style="text-decoration:none;"

Mas não sei a forma correta.

 

Alguém pode me ajudar?

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria melhor você criar uma função para isso. Mas ficaria o seguinte:

onclick="document.getElementById('dia1').style.display='none'; document.getElementById('dia2').style.display='none';" style="text-decoration:none;"
Entendeu? é um outro elemento.. então precisa chamar tudo de novo... após o ;

 

Cria uma função que faça isso, fica melhor de ver o código..

function tal() {
 document.getElementById('dia1').style.display='none';
 document.getElementById('dia2').style.display='none';
}
Ai você chamaria:

onclick="tal()"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria melhor você criar uma função para isso. Mas ficaria o seguinte:

onclick="document.getElementById('dia1').style.display='none'; document.getElementById('dia2').style.display='none';" style="text-decoration:none;"
Entendeu? é um outro elemento.. então precisa chamar tudo de novo... após o ;

 

Cria uma função que faça isso, fica melhor de ver o código..

function tal() {
 document.getElementById('dia1').style.display='none';
 document.getElementById('dia2').style.display='none';
}
Ai você chamaria:

onclick="tal()"

 

Valeu galera... as três respostas dadas foram boas e bem parecidas, eu usei está aqui em cima, mas valeu a todos.

 

Obs.: Desculpem pelas postagens repetidas, eu até aguardei uns minuos para postar de novo mas quando ví estavam lá os 3 tópicos repetidos.

 

 

Valeu galera... http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa... como é que eu faço para fazer o seguinte...

 

criei a função "fechar()" do div1 que quando clicado ele fecha todos os div abertos.

 

dentro do div1 tem um 3 links que abrem os divs 1,2 e 3.

 

quero criar uma função assim:

ao clicar no link1

 

se(div2 ou div3 == display.block){

então torne-os none e div1 block

}

 

senão{

apenas torne div1 block}

 

só que não sei como fazer para comparar isso (block e none);

 

Alguém poe ajudar?

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

if(document.getElementById('div2').style.display == 'block') {
Isso?

Se bem que o melhor seria você fazer um loop dar none, em todos os outros elementos. Pq criar condições desse jeito, vai ficar trabalhoso, conforme forem crescendo a quantidade de itens.

Ou então atribuir à variáveis.. que nem te falaram no outro tópico..

var div2 = document.getElementById('div2');

if(div2.style.display =='block'){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dependendo de como você está fazendo, tem como sim, por exemplo, você coloca uma div por exemplo como id="principal" e dentro dela outras 3 divs por exemplo no código que eu postei abaixo.

<script LANGUAGE="JavaScript">

function escondeDivs(id)
{
	var divPrincipal = document.getElementById('principal');
	var divs = divPrincipal.getElementsByTagName('div');
	for(i=0;i<divs.length;i++)
	{
	if (divs[i].id==id)
		divs[i].style.display = "block";
	else
		divs[i].style.display = "none";
	}	
	
}

function mostraDivs()
{
	 var divPrincipal = document.getElementById('principal');
	 var divs = divPrincipal.getElementsByTagName('div');
	 for(i=0;i<divs.length;i++)
	 {
		divs[i].style.display = "block";
	 }
}
</SCRIPT>
<style>
#div1{display:block; width:100px; height:100px; float:left; border:1px solid red;}
#div2{display:block; width:100px; height:100px; float:left; border:1px solid blue;}
#div3{display:block; width:100px; height:100px; float:left; border:1px solid yellow;}
</style>
<div id="principal">
<div id="div1"> div 1</div>
<div id="div2"> div 2 </div>
<div id="div3"> div 3</div>
</div>


<a href="#" onClick="escondeDivs('div1')"> Mostrar div1 </a> / 
<a href="#" onClick="escondeDivs('div2')"> Mostrar div2 </a> / 
<a href="#" onClick="escondeDivs('div3')"> Mostrar div3 </a> / 
<a href="#" onClick="mostraDivs()"> Mostrar todas </a>

 

Espero q ajude.

 

Absss

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.