Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/03/2004, 11:32
Avatar de fjmasero
fjmasero
 
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 3 meses
Puntos: 1
Nuevamente HOLA y GRACIAS PatomaS:

Q se me ha encendido la lucecita.

Te/os explico.

He hecho lo siguiente
Código:
var capa
var capasTipoLogin = new Array();
capasTipoLogin[0] = 'rbAlumnosEmpresas'
capasTipoLogin[1] = 'rbAlumnos'
capasTipoLogin[2] = 'rbEmpresas'

function cambiaCapa(idCapa){
 for (i=0; i<capasTipoLogin.length; i++) {
  //obtencion del objeto de la capa a visualizar
  if (document.layers) {
   capa = eval("document." + capasTipoLogin[i]);
  }
  if (document.all) {
   capa = eval(capasTipoLogin[i] + ".style");
  }
  if (document.getElementById) {
   capa = eval('document.getElementById("' + capasTipoLogin[i] + '").style');
  }
  
  if (i==idCapa) {   
    capa.display = "";
    capa.visibility = (document.layers) ? "show" : "visible" ;
  }
  else {
    capa.display = "none";
    capa.visibility = (document.layers) ? "hide" : "hidden" ;
  }
 }
}
Con esto, y con llamadas desde los enlaces con cambiaCapa(n), siendo n el numero de indice de la capa a mostrar, ya me funciona.

Eso si, las div deben estar dentro del td donde se visualizan. Concretamente, asi
Código:
                <td colspan="2" width="100%">
                  <div id="rbAlumnosEmpresas" name="rbAlumnosEmpresas" style="position: relative; top: 0; left: 0">
                    <table width="100%" cellpadding="0" cellspacing="0" border="0">
                      <tr>
                        <td width="62" height="30" valign="middle" align="left">
                          <a href="#" onClick="establecerTipoLogin(this,'alumno');cambiaCapa(1); return false;" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('alumnos','','../images/alumnos_on.gif',1)">
                            <img name="alumnos" border="0" src="../images/alumnos_off.gif" width="52" height="9">
                          </a>
                        </td>
                        <td class="texto10_660000" align="center">|</td>
                        <td width="66" height="30" valign="middle" align="right">
                          <a href="#" onClick="establecerTipoLogin(this,'empresa');cambiaCapa(2); return false" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('empresas','','../images/empresas_on.gif',1)">
                            <img name="empresas" border="0" src="../images/empresas_off.gif" width="61" height="9">
                          </a>
                        </td>
                      </tr>
                    </table>
                  </div>
                  <div id="rbAlumnos" name="rbAlumnos" style="position: relative; top: 0; left: 0; visibility: hidden; display: none">
                    <table width="100%" cellpadding="0" cellspacing="0" border="0">
                      <tr>
                        <td width="100%" height="30" valign="middle" align="center">
                          <img name="alumnos" border="0" src="../images/alumnos_on.gif" width="52" height="9">
                        </td>
                      </tr>
                    </table>
                  </div>
                  <div id="rbEmpresas" name="rbEmpresas" style="position: static; top: 0; left: 0; visibility: hidden; display: none; top: 0; left: 0">
                    <table width="100%" cellpadding="0" cellspacing="0" border="0">
                      <tr>
                        <td width="100%" height="30" valign="middle" align="center">
                          <img name="alumnos" border="0" src="../images/empresas_on.gif" width="61" height="9">
                        </td>
                      </tr>
                    </table>
                  </div>
                </td>
siendo una de las claves q las capas q al cargarse la página no deben verse, q la propiedad display sea none.

Lo he probado en IE6, NS7 y Mozilla.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender