Foros del Web » Programando para Internet » Javascript »

Centrar <div...> de acuerdo a pantalla

Estas en el tema de Centrar <div...> de acuerdo a pantalla en el foro de Javascript en Foros del Web. Hola a todos. Espero que alguien me pueda ayudar con esta situacion y se los agradecere mucho. Tendo un <div> oculto en una pagina y ...
  #1 (permalink)  
Antiguo 20/11/2008, 16:02
Avatar de MauricioCr  
Fecha de Ingreso: junio-2007
Ubicación: San Pedro, San Jose, Costa Rica, Costa Rica
Mensajes: 67
Antigüedad: 16 años, 10 meses
Puntos: 0
Centrar <div...> de acuerdo a pantalla

Hola a todos.

Espero que alguien me pueda ayudar con esta situacion y se los agradecere mucho.

Tendo un <div> oculto en una pagina y en determinado momento al hacer clic el usuario el <div> aparece y centrado con JS.
El problema es que quiero que aparezca centrado pero en la pantalla de acuerdo donde este el usuario navegando tomando en cuenta que puede esta navegando muy abajo de la pagina.

Espero me halla explicado bien.

Gracias de antemano.

Mauricio
  #2 (permalink)  
Antiguo 20/11/2008, 18:54
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Centrar <div...> de acuerdo a pantalla

Código javascript:
Ver original
  1. var Div=document.getElementById('div');
  2. Div.style.position='fixed';
  3.  
  4. var w=parseInt(Div.style.width);
  5. var h=parseInt(Div.style.height);
  6.  
  7. Div.style.left=(document.body.offsetWidth/2-(w/2))+'px';
  8. Div.style.top=(document.body.offsetHeight/2-(h/2))+'px';
  #3 (permalink)  
Antiguo 21/11/2008, 08:21
Avatar de MauricioCr  
Fecha de Ingreso: junio-2007
Ubicación: San Pedro, San Jose, Costa Rica, Costa Rica
Mensajes: 67
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Centrar <div...> de acuerdo a pantalla

Gracias FernandO por su interes en ayudar, pero esto me hace que lo ponga en el centro de la pagina, pero si la pagina mide 2000px me lo ubica en los 1000, pero si el usuario esta al principio de la pagina no vera el <div>

Gracias
  #4 (permalink)  
Antiguo 21/11/2008, 08:53
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Centrar <div...> de acuerdo a pantalla

Prueba con CSS, yo tengo este código para centrar DIVs:
Código:
.centrado {
	position: absolute;
	width: 600px;  /*Tamaño del DIV*/
	height: 200px;  /*Tamaño del DIV*/
	left: 50%;
	top: 50%;
	margin-left: -300px;  /*Tamaño del DIV entre 2*/
	margin-top: -100px;  /*Tamaño del DIV entre 2*/
}
  #5 (permalink)  
Antiguo 21/11/2008, 09:40
Avatar de MauricioCr  
Fecha de Ingreso: junio-2007
Ubicación: San Pedro, San Jose, Costa Rica, Costa Rica
Mensajes: 67
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Centrar <div...> de acuerdo a pantalla

Gracias genuine_carlosV2 por su interes en ayudar tambien, pero sucede igual que con el anterior ejemplo, me lo centra arriba y yo estando abajo.

Aqui el ejemplo: http://fotonaturaleza.net/ejemplo.htm

En la imagen primera el div se muestra bien, pero en la imagen del final de la pagina lo pone arriba y centrado, y lo nesecito si, centrado pero donde este la parte de la pantalla donde esta el usuario.

Gracias
  #6 (permalink)  
Antiguo 21/11/2008, 09:57
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Centrar <div...> de acuerdo a pantalla

En mi código, cambia 'absolute' por 'fixed' y problema solucionado ;)
  #7 (permalink)  
Antiguo 21/11/2008, 10:02
Avatar de EPROM  
Fecha de Ingreso: abril-2005
Mensajes: 51
Antigüedad: 19 años
Puntos: 3
Respuesta: Centrar <div...> de acuerdo a pantalla

Estimado... esta es la solución


Código:
var Div=document.getElementById('div');
Div.style.position= "absolute";
Div.style.width= 40;
Div.style.height= 20; 
Div.style.display = "";
var ypos = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
Div.style.left = (screen.availWidth-40)/2 + 'px';
Div.style.top = (screen.availHeight-20)/2 + ypos - 70 + 'px';
SALUDOS
  #8 (permalink)  
Antiguo 21/11/2008, 10:46
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Centrar <div...> de acuerdo a pantalla

Código HTML:
<style>
* { margin: 0; }
html, body { width: 100%; height: 100%; }
</style> 
Código javascript:
Ver original
  1. function mau()
  2. {
  3. var Div=document.getElementById('div');
  4. Div.style.position='fixed';
  5. Div.style.display='block';
  6.  
  7. var w=parseInt(Div.style.width);
  8. var h=parseInt(Div.style.height);
  9.  
  10. Div.style.left=(document.body.offsetWidth/2-(w/2))+'px';
  11. Div.style.top=(document.body.offsetHeight/2-(h/2))+'px';
  12. }

si lo queres hacer con JS... es asi... necesitas tener el body obviamente con una medida 100%...

si "simplemente" queres que este en el centro.. usa CSS como te dice genuine_carlosV2
  #9 (permalink)  
Antiguo 21/11/2008, 11:43
Avatar de MauricioCr  
Fecha de Ingreso: junio-2007
Ubicación: San Pedro, San Jose, Costa Rica, Costa Rica
Mensajes: 67
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Centrar <div...> de acuerdo a pantalla

Excelente, muchas gracias a ambos!

Se los agradezco.. ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:35.