← Javascript

[JavaScript] Hide/Show Script - Não mantém estado...

Lida 2517 vezes

Offline

mdjpinto 
Membro
Mensagens 7 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Eighth year Anniversary Seventh year Anniversary

Olá,

Estou com um problema num script destinado a mostrar/ocultar conteúdo.
Quando quando abro um novo conteúdo o anterior fecha.

Agradeço a ajuda!

segue o script:
Código: [Seleccione]

<script language="javascript">
   c=0
du="";
   function escondediv(dv,n){
   
   for(i=1;i<=n;i++){
   if(i==dv ){
   if(du!=dv){
      document.getElementById('mdiv'+i).style.display="inline"
   du=dv
}else{
   du=""
   document.getElementById('mdiv'+i).style.display="none"
}
   }else{
     document.getElementById('mdiv'+i).style.display="none"  
   }

}
}

function reveza(qq){
  document.getElementById(qq).className="itens_menu_r"
}
function volta(qq){
  document.getElementById(qq).className="itens_menu"
}
</script>

Offline

RonaldoFS 
Membro
Mensagens 18 Gostos 1
Troféus totais: 20
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 10 Posts First Post


Vais fazer mais uso de JS? Porque não utilizas jQuery e fazes o que estavas a fazer em 3-4 linhas?

Ficava algo do género em jQuery:
Código: [Seleccione]
$(document).ready {
  $('.hide').click( function() {     //listener para o evento de clique em algum elemento de classe "hide"
    $(this).next('.content').toggle();     //seleccionas o "this"(elemento que chamou o click - .hide), escolhes a classe .content que vem depois do "this" e chamas o toggle (altera o display no css)
  });
}

No html poderias ter:
Código: [Seleccione]
<div class="item">
  <div class="hide">
    Mostrar/Esconder
  </div>
  <div class="content">
    Conteudo
  </div>
</div>

write less, do more

abraço