Ir para conteúdo
Fórum Script Brasil
  • 0

Melhorada no código - Link para Div


SuperTigato

Pergunta

Pessoal,

O código abaixo verifica através de queryString o nome da Div (aquelas estilo esconde/aparece) e conforme for, ele abre.

No código atual, possibilito que seja passada via url 3 váriaveis: t1 / t2 e t3. Gostaria de criar um código que independente de ter 1 t ou 10 t, ele fosse abrindo DIV dentro de DIV.Por favor, vocês me ajudam?

Eu gostaria de melhora a função mostraDivOnLoad()

<script language="javascript">

function mostraDiv(nomediv){
    if (nomediv.style.display == "none"){
        nomediv.style.display = "block";
         location.href = "#" + nomediv.id
    }
    else{
        nomediv.style.display = "none"
    }
}

var request = { getParameter: _getParameter };   
function _getParameter(querystring)   
  {   
   var querystr = new Array();   
   loc = window.location.search.substr(1).split('&'); 
   if ((loc!='')&&(loc!=null)) {   
   for (var icnt=0;icnt< loc.length;icnt++) 
     {   
      var q = loc[icnt].split('='); 
      querystr[q[0]] = q[1]; 
     }   
   return querystr[querystring]; 
   } 
   else 
     { 
         return(null); 
     }   
  }   

function mostraDivOnLoad(){
    if (request.getParameter('t') !=null){
        mostraDiv(eval(request.getParameter('t')))
        if (request.getParameter('t2') !=null){
            mostraDiv(eval(request.getParameter('t2')))
            if (request.getParameter('t3') !=null){
                mostraDiv(eval(request.getParameter('t3')))
            }
        }
    }
}

window.onload = mostraDivOnLoad
</script>

Editado por SuperTigato
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Você poderia fazer de forma bem mais simples. Algo assim:

function mostraDiv(numero)
{
    var nome_div="t"+numero
    var obj=document.getElementById(nome_div)
    if(obj.style.display=="none")
    {
        obj.style.display="block"
        location.href="#"+nome_div
    }
    else
    {
         obj.style.display="none"
    }
}

Veja se funciona.

Link para o comentário
Compartilhar em outros sites

  • 0

Não rola.

Mas o que eu queria faciliar / melhorar era essa parte do código:

function mostraDivOnLoad(){
    if (request.getParameter('t') !=null){
        mostraDiv(eval(request.getParameter('t')))
        if (request.getParameter('t2') !=null){
            mostraDiv(eval(request.getParameter('t2')))
            if (request.getParameter('t3') !=null){
                mostraDiv(eval(request.getParameter('t3')))
            }
        }
    }
}
Você poderia fazer de forma bem mais simples. Algo assim:
function mostraDiv(numero)
{
    var nome_div="t"+numero
    var obj=document.getElementById(nome_div)
    if(obj.style.display=="none")
    {
        obj.style.display="block"
        location.href="#"+nome_div
    }
    else
    {
         obj.style.display="none"
    }
}

Veja se funciona.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...