Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/03/2006, 02:07
jorgezazo
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 19 años, 7 meses
Puntos: 0
De acuerdo

Toma, a ver que te parece esta solución

Código:
<script type="text/javascript">
  <!--
    /**
    * Variable que guardará el id de la capa activa
    */
    var activeLayer = "undefined";
    /**
    * Variable que guardará el navegador que es
    */
    var browserType;
    if(document.layers){
      browserType = "nn4"
    }
    if(document.all){
      browserType = "ie"
    }
    if(window.navigator.userAgent.toLowerCase().match("gecko")){
      browserType= "gecko"
    }
    
    /**
    * Función que muestra la capa que se le pasa en el parámetro
    *
    * @param what {string} mandatory Parámetro con el ID de la capa a tratar
    */
    function show(what){
      var poppedLayer;
      if (browserType == "gecko" ){
         poppedLayer = document.getElementById(what);
      } else if (browserType == "ie"){
         poppedLayer = document.all[what];
      }else{
         poppedLayer = document.layers[what];
      }
      poppedLayer.style.display = "inline";
      hide(activeLayer);
      activeLayer = what;
    }
    
    /**
    * Función que oculta la capa que se le pasa en el parámetro
    *
    * @param what {string} mandatory Parámetro con el ID de la capa a tratar
    */
    function hide(what) {
      var poppedLayer;
      if(what != "undefined"){
        if (browserType == "gecko" ){
           poppedLayer = document.getElementById(what);
        } else if (browserType == "ie"){
           poppedLayer = document.all[what];
        }else{
           poppedLayer = document.layers[what];
        }
        poppedLayer.style.display = "none";
      }
    }
  //-->
</script>
Simplemente hacemos que "recuerde" que tiene una capa activa y que ha de ocultarla al mostrar otra.

Un saludo