Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/06/2011, 15:30
Avatar de America|UNK
America|UNK
 
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 18 años
Puntos: 56
Respuesta: Problema con capas

Deberìas añadir un atributo a los divs para agruparlos y poder mostrar u ocultar las capas correspondientes, por ejemplo agregando un atributo rel.
Hice este ejemplo para que tengas una idea, los links 'buttonDiv' muestran las capas que contienen el atributo grupoX_div y que contienen el nombre de clase del atributo href 'div_a_mostrar_x'

Código HTML:
Ver original
  1. <div id="buttons">
  2. <a class="buttonDiv" href="#div_a_mostrar_1" rel="grupo1">1</a> <a class="buttonDiv" href="#div_a_mostrar_2" rel="grupo1">2</a>
  3.  -
  4. <a class="buttonDiv" href="#div_a_mostrar_1" rel="grupo2">3</a> <a class="buttonDiv" href="#div_a_mostrar_2" rel="grupo2">4</a>
  5. <div>
  6.  
  7.     <div class="div_a_mostrar_1" rel="grupo1_div">
  8.         <div class="content">Div 1 grupo 1</div>
  9.     </div>
  10.     <div class="div_a_mostrar_2" rel="grupo1_div">
  11.         <div class="content">Div 2 grupo 1</div>
  12.     </div>
  13.    
  14.     <div class="div_a_mostrar_1" rel="grupo2_div">
  15.         <div class="content">Div 1 grupo 2</div>
  16.     </div>
  17.     <div class="div_a_mostrar_2" rel="grupo2_div">
  18.         <div class="content">Div 2 grupo 2</div>
  19.     </div>

Código Javascript:
Ver original
  1. function hasClass(el,clase){return el.className.match(new RegExp('(\\s|^)'+clase+'(\\s|$)'))}
  2. function muestra_oculta(clase,rel){
  3.     var D = document.getElementsByTagName('*'), i;
  4.     for(i=0;i<D.length;i++){
  5.         if(D[i].getAttribute('rel') == rel + "_div"){
  6.             D[i].style.display = 'none';
  7.             if(hasClass(D[i],clase)) D[i].style.display = D[i].style.display == 'none' ? 'block' : 'none';
  8.         }
  9.     }
  10. }
  11. (function(clases,id){
  12.     var d = document, z = d.getElementById(id), b = z.getElementsByTagName('a'), x;
  13.     for(x=0;x<b.length;x++){
  14.         if(hasClass(b[x],clases)){
  15.             b[x].onclick = function(){
  16.                 var c = this.href ? this.href.split(/#/)[1] || '_' : '_';
  17.                 muestra_oculta(c,this.getAttribute('rel'))
  18.             }
  19.         }
  20.     }
  21. })('buttonDiv','buttons');
  22. muestra_oculta('div_a_mostrar_1','grupo1')
  23. muestra_oculta('div_a_mostrar_1','grupo2')
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */