Tengo problemillas con la web

Tengo una duda de como funcionan las capas en html. Mi problema es el siguiente: he creado una capa con un formulario y otra con un menú desplegable que por supuesto ha de verse por encima del formulario. Cuando despliego el menú resulta que se ve por encima de todos los objetos del formulario menos por encima de los select's. He tenido en cuenta el z-Index y no funciona bien, creo. Si alguien pudiese ayudarme le estaría muy agradecido.

1 Respuesta

Respuesta
1
El problema que tienen las capas, es que aunque controles el z-index, con los applets y los formularios dan muchos problemas (sobre todo en Netscape). Puedes probar a poner el select en una capa independiente a la del formulario, a ver que hace, aunque tengo dudas si funcionaria. Otra solución, algo más compleja, es que ese select lo programes tu con capas dinámicas. En la DynApi tienes ejemplos de como se hace (http://www.dansteinman.com/dynapi/).
Otra solución (mas bien una ñapa) seria lo siguiente. Tu tienes la capa con el formulario entero. Bien, dentro de esa capa, metes otra, que es en la que metes el select.
Entonces en la capa de tu menu, haz un método que oculte la capa en la que esta el select. Osea, con el onmouse over de la capa del menu, aparte de sacar el menu, mete otra función que oculte la capa de la select, y con el onmouseout, que la visualice de nuevo.
Por si no tienes las funciones de visualización de capas, aquí te las pongo:
var navegador = (navigator.appName == 'Netscape')?'NS':'IE';
function cargaotracapa(numcapa)
{
 var capa = "capa" + numcapa;
 if (navegador == 'IE')
  document.all[capa].style.visibility = 'visible';
 else
  document.layers[capa].visibility = 'visible';  
}
function descargaotracapa(numcapa)
 {
  capa = "capa" + numcapa;
  if(navegador == 'IE')
  {
   document.all[capa].style.visibility = 'hidden';
  }
  else
  {
   document.layers[capa].visibility = 'hidden';
  } 
}

Estas funciones simplemente se les pasa un numero, que es el numero de la capa. Yo a las capas en el id (<div id="">) les llamamos capa#, donde # es siempre un numero. Por eso solo le paso el numero de la capa y luego lo concateno a a "capa" + # y ya tengo el nombre de la capa. Y luego ya dependiendo del navegador, pues la oculta o la muestra.
Bien.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas