Ir para conteúdo

Arquivado

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

Fabio_Guerra

Fechar demais divs chamando função javascript dentro de outra

Recommended Posts

Olá, Pessoal

Tenho o seguinte código:

 

function abre_pa()
{
$('#pa').fadeIn(1000);
$('#tipo').fadeOut(0);
$('#opcoes').fadeOut(0);
$('#tipo_audio').fadeOut(0);
$('#ura120_gravacao').fadeOut(0);
$('#ramais').fadeOut(0);
$('#ha').fadeOut(0);
$('#definir_ha').fadeOut(0);
$('#pt').fadeOut(0);
$('#tipo_pt').fadeOut(0);
$('#opcoes_pt').fadeOut(0);
$('#tipo_audio_pt').fadeOut(0);
$('#ura121_gravacao').fadeOut(0);
$('#ramais_pt').fadeOut(0);
$('#bloqueiosn').fadeOut(0);
$('#tipo_bloqueio').fadeOut(0);
$('#tipo_audio_bloqueio').fadeOut(0);
$('#ura123_gravacao').fadeOut(0);
$('#cobertura').fadeOut(0);
$('#cobertura0800').fadeOut(0);
$('#gravacao').fadeOut(0);
$('#bloqueio_out').fadeOut(0);
}
function abre_tipo()
{
$('#pa').fadeOut(0);
$('#tipo').fadeIn(1000);
$('#opcoes').fadeOut(0);
$('#tipo_audio').fadeOut(0);
$('#ura120_gravacao').fadeOut(0);
$('#ramais').fadeOut(0);
$('#ha').fadeOut(0);
$('#definir_ha').fadeOut(0);
$('#pt').fadeOut(0);
$('#tipo_pt').fadeOut(0);
$('#opcoes_pt').fadeOut(0);
$('#tipo_audio_pt').fadeOut(0);
$('#ura121_gravacao').fadeOut(0);
$('#ramais_pt').fadeOut(0);
$('#bloqueiosn').fadeOut(0);
$('#tipo_bloqueio').fadeOut(0);
$('#tipo_audio_bloqueio').fadeOut(0);
$('#ura123_gravacao').fadeOut(0);
$('#cobertura').fadeOut(0);
$('#cobertura0800').fadeOut(0);
$('#gravacao').fadeOut(0);
$('#bloqueio_out').fadeOut(0);
}

function abre_opcoes()
{
$('#pa').fadeOut(0);
$('#tipo').fadeOut(0);
$('#opcoes').fadeIn(1000);
$('#tipo_audio').fadeOut(0);
$('#ura120_gravacao').fadeOut(0);
$('#ramais').fadeOut(0);
$('#ha').fadeOut(0);
$('#definir_ha').fadeOut(0);
$('#pt').fadeOut(0);
$('#tipo_pt').fadeOut(0);
$('#opcoes_pt').fadeOut(0);
$('#tipo_audio_pt').fadeOut(0);
$('#ura121_gravacao').fadeOut(0);
$('#ramais_pt').fadeOut(0);
$('#bloqueiosn').fadeOut(0);
$('#tipo_bloqueio').fadeOut(0);
$('#tipo_audio_bloqueio').fadeOut(0);
$('#ura123_gravacao').fadeOut(0);
$('#cobertura').fadeOut(0);
$('#cobertura0800').fadeOut(0);
$('#gravacao').fadeOut(0);
$('#bloqueio_out').fadeOut(0);
}

... e assim por diante (são 22 eventos diferentes, com 22 funções, para exibir apenas a DIV relacionada ao evento e ocultar as demais).

 

Ou seja: o código ficou muito extenso!

 

Gostaria de saber se há alguma forma de ocultar todas as DIVs de uma só vez, à exceção da que tem que ser exibida. Algo assim:

function abre_pa()
{
$('#pa').fadeIn(1000);
$('#TODAS_AS_OUTRAS').fadeOut(0);
}

 

Também pensei em criar a função fecha_todas e tentar chamá-la antes de fazer o fadeIn. Algo mais ou menos assim:

function fecha_todas()
{
$('#pa').fadeOut(0);
$('#tipo').fadeOut(0);
$('#opcoes').fadeOut(0);
$('#tipo_audio').fadeOut(0);
$('#ura120_gravacao').fadeOut(0);
$('#ramais').fadeOut(0);
$('#ha').fadeOut(0);
$('#definir_ha').fadeOut(0);
$('#pt').fadeOut(0);
$('#tipo_pt').fadeOut(0);
$('#opcoes_pt').fadeOut(0);
$('#tipo_audio_pt').fadeOut(0);
$('#ura121_gravacao').fadeOut(0);
$('#ramais_pt').fadeOut(0);
$('#bloqueiosn').fadeOut(0);
$('#tipo_bloqueio').fadeOut(0);
$('#tipo_audio_bloqueio').fadeOut(0);
$('#ura123_gravacao').fadeOut(0);
$('#cobertura').fadeOut(0);
$('#cobertura0800').fadeOut(0);
$('#gravacao').fadeOut(0);
$('#bloqueio_out').fadeOut(0);
}
function abre_pa()
{

function fecha_todas();

$('#pa').fadeIn(1000);
}

Alguém poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, é possível.

apenas use classes.

 

e em vez de declarar funções iguais, receba por parâmetro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso alguém precise, atribui a classe "diva" a todas as 22 divis e o código ficou assim:

function abre_pa()
{
$('.diva').fadeOut(0);

$('#pa').fadeIn(1000);
}
function abre_tipo()
{
$('.diva').fadeOut(0);

$('#tipo').fadeIn(1000);
}

function abre_opcoes()
{
$('.diva').fadeOut(0);

$('#opcoes').fadeIn(1000);
}

 

Obs: o fadeOut ficou antes do fadeIn, para que a função execute primeiro o fadeOut e, depois, o fadeIn

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.