elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  ¿Cómo posicionar una capa?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo posicionar una capa?  (Leído 5,910 veces)
|Miguel|

Desconectado Desconectado

Mensajes: 217



Ver Perfil
¿Cómo posicionar una capa?
« en: 21 Enero 2012, 12:48 pm »

Hola buenas... siguiendo con las funciones del otro post que hice tengo otro problema. En realidad dos problemas.

El primero, es que dependiendo de la configuración de pantalla del PC donde se cargue, el submenú me aparece desplazado. He probado a meter una tabla en la ceda donde se llama al submenú en lugar de usar la capa que he puesto aquí abajo, pero da el mismo resultado. a ver si alguien me puede ayudar a hacer posicionamiento de capas según donde cargue la página, es decir, que la función muestra me calcule la posición donde debe colocar la capa.

Funciones:
Código
  1. <script type="text/javascript">
  2. function muestra(id)
  3. {
  4. document.getElementById(id).style.visibility='visible';
  5. }
  6.  
  7. function oculta(id)
  8. {
  9. document.getElementById(id).style.visibility='hidden';
  10. }
  11. </script>

La capa:
Código
  1. <div id="subMenu" class="menu" onMouseOut="javascript:oculta('subMenu');">
  2.    <span class="menu">
  3.       <a href="tintos.html">Vinos tintos</a><br/>
  4.       <a href="blancos.html">Vinos blancos</a><br/>
  5.       <a href="mostos.html">Mostos</a>
  6.    </span>
  7. </div>

Y la celda que llama:
Código
  1. <td width="116" class="menu" onMouseOver="javascript:muestra('subMenu');" >Nuestros vinos</td>

El segundo problema, que no me importa demasiado la verdad, es que cuando añado lo del submenú, todo se descuadra en Internet Explorer (sólo en ese... ''navegador''). Si no pongo lo del submenú, todo vuelve a estar bien.

Gracias a todos, un Saludo.

PD: si alguien me dice las etiquetas para el tag CODE de html y java script edito el mensaje para que salga el codigo como es debido...


« Última modificación: 21 Enero 2012, 20:34 pm por |Miguel| » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: ¿Cómo posicionar una capa?
« Respuesta #1 en: 21 Enero 2012, 20:31 pm »

Hola, por favor, sube un ejemplo en vivo o muestra capturas para que podamos entenderte mejor.

Las etiquetas respectivas son

[code=html4strict] [/code]  Para HTML.
[code=javascript] [/code]  Para javascript.

Puedes utilizar la lista "GeSHI" que aparece cuando vas a crear un nuevo post.

Saludos


En línea

|Miguel|

Desconectado Desconectado

Mensajes: 217



Ver Perfil
Re: ¿Cómo posicionar una capa?
« Respuesta #2 en: 21 Enero 2012, 20:57 pm »

Pues que al pasar el ratón por encima de la celda de "Nuestros vinos" en algunos ordenadores me sale esto:

Y lo que busco es esto, en todos (a veces me lo cuadra bien, a veces no):
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: ¿Cómo posicionar una capa?
« Respuesta #3 en: 21 Enero 2012, 21:30 pm »

Hola, no parece problema de javascript. Podrías poner el CSS que utilizas ?


Saludos
En línea

|Miguel|

Desconectado Desconectado

Mensajes: 217



Ver Perfil
Re: ¿Cómo posicionar una capa?
« Respuesta #4 en: 21 Enero 2012, 21:32 pm »

Está entre el head y el body.
Código
  1. <style type="text/css">
  2. #subMenu{
  3. visibility:hidden;
  4. }
  5. </style>
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: ¿Cómo posicionar una capa?
« Respuesta #5 en: 21 Enero 2012, 22:43 pm »

Ejem ? solo eso ?...

Bueno, tal y como lo veo, con tablas lo vas a tener muy difícil. Sobre todo IE que hace lo que le de la gana. Te recomiendo que uses ul (listas).

Te dejo como quedaría tu menú con ul.

CSS.
Código
  1. <style type="text/css">
  2.   #menuprincipal ul {margin:0px; padding:0px; list-style:none;}
  3.   #menuprincipal ul li {float:left; padding:3px;}
  4.  
  5.   #submenu {display:none; position:fixed;}
  6.   #submenu li a {display:block; _position:absolute; }
  7.   #submenu li {float:none !important;}
  8. </style>

javascript (utiliza display:none; en vez de visibility).
Código
  1. <script type="text/javascript">
  2.   function muestra(id)
  3.      {
  4.         document.getElementById(id).style.display='block';
  5.      }
  6.  
  7.   function oculta(id)
  8.      {
  9.         document.getElementById(id).style.display='none';
  10.      }
  11. </script>


Menu
Código
  1. <div id="menuprincipal">
  2. <ul class="menu">
  3. <li>La bodega</li>
  4. <li>Valdepenas</li>
  5. <li onMouseOver="javascript:muestra('submenu');" onMouseOut="javascript:oculta('submenu');">
  6. Nuestros vinos
  7. <ul id="submenu" onMouseOut="javascript:oculta('submenu');">
  8. <li><a href="#">Vinos tintos</a></li>
  9. <li><a href="#">Vinos blancos</a></li>
  10. <li><a href="#">Mostos</a></li>
  11. </ul>
  12. </li>
  13. <li>Visitas y Cartas</li>
  14. <li>Area infantil</li>
  15. <li>Dominacion de origen</li>
  16. <li>Contacto</li>
  17. </ul>
  18. </div>

Ejemplo de como quedaría (click para agrandar):


Aparte, con ese javascript, te va a ser imposible colocar otro sub-menu puesto que el id se puede declarar solo una vez.

Te recomiendo que mires el código de un compañero ha hecho mas o menos lo mismo pero con jQuery.
-> http://foro.elhacker.net/desarrollo_web/menu_desplegable_html_css_jquery_ayuda-t351067.0.html

Saludos
En línea

|Miguel|

Desconectado Desconectado

Mensajes: 217



Ver Perfil
Re: ¿Cómo posicionar una capa?
« Respuesta #6 en: 22 Enero 2012, 12:55 pm »

Ejem ? solo eso ?...

Sí, sé que es algo triste pero quería empezar por el menú, que es lo único que podía darme problemas... y lo ha hecho XD

Lo que me has pasado tu me hace esto:

Mi idea era hacer una función javascript que tomase la posición del elemento que contiene Nuestros vinos, y dar a subMenú esa posición.
« Última modificación: 22 Enero 2012, 12:57 pm por |Miguel| » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: ¿Cómo posicionar una capa?
« Respuesta #7 en: 22 Enero 2012, 19:03 pm »

Hola,

Bueno.. Te dejo como obtener la posición de un elemento con jQuery.

Incluir jQuery.
Código
  1. <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>

Código javascript que define el horizontal y vertical de #submenu obteniendo datos de #menu
Código
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.   // Obtener la posicion del elemento menu(izquierda y arriba)
  4.   var posicion = $('#menu').offset();
  5.   // Poner la misma posicion horizontal.
  6.   $('#submenu').css('left',posicion.left);
  7.   // Poner la misma posicion +20px vertical
  8.   $('#submenu').css('top',posicion.top+20);
  9. });
  10. </script>
  11.  

#submenu debe ser position:relative o fixed
Código
  1. #submenu {position:fixed;}

Saludos
En línea

|Miguel|

Desconectado Desconectado

Mensajes: 217



Ver Perfil
Re: ¿Cómo posicionar una capa?
« Respuesta #8 en: 22 Enero 2012, 21:27 pm »

En algunos pc's el menú sale bien y en otros abajo del todo de la página...
No sé cómo algo relativamente sencillo puede dar tanto por el c***. XD
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: ¿Cómo posicionar una capa?
« Respuesta #9 en: 22 Enero 2012, 22:58 pm »

Hola,

En algunos PC's o en otros navegadores ? Hay diferencia.

Saludos
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Grabadoras DVD - Una Capa y Doble Capa
Software
caciqueweb 1 4,139 Último mensaje 2 Agosto 2004, 21:44 pm
por Cobac
grabar IMG en doble capa (como?)
Software
Reznor 7 6,856 Último mensaje 20 Agosto 2007, 05:10 am
por Reznor
duda como posicionar texto? « 1 2 »
Programación Visual Basic
Sai-To 15 6,212 Último mensaje 23 Mayo 2008, 01:49 am
por byebye
como quemar dvd de doble capa
Software
aspire t180 1 6,209 Último mensaje 12 Noviembre 2010, 16:07 pm
por lesone-
¿como actualizar un div o capa?
PHP
fco_noh 3 4,469 Último mensaje 14 Septiembre 2011, 01:50 am
por Littl3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines