Foros del Web » Programando para Internet » Jquery »

$(window).width() devuelve 0 en IE

Estas en el tema de $(window).width() devuelve 0 en IE en el foro de Jquery en Foros del Web. Estoy probanco la version 1.8.2 de jQuery, para una pagina de contenido liquido (todo el css esta en ems, y a la carga de pagina ...
  #1 (permalink)  
Antiguo 19/10/2012, 09:22
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
$(window).width() devuelve 0 en IE

Estoy probanco la version 1.8.2 de jQuery, para una pagina de contenido liquido (todo el css esta en ems, y a la carga de pagina se calcula el font-size del body).

La cuestion es que en IE este codigo devuelve 0 en vez de 1355
$(window).width()

Alguien puede confirmar que ese codigo funciona bien en su web?
  #2 (permalink)  
Antiguo 19/10/2012, 09:29
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: $(window).width() devuelve 0 en IE

Prueba con $(document).width()

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 19/10/2012, 09:39
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: $(window).width() devuelve 0 en IE

Lo intentaré. Estoy encendiendo una pc con windows. Pero igual document y window son diferentes. Y necesito ambos valores para poder encajar el contenido en pantalla de manera liquida. Quiero decir, no puedo prescindir del window width.
  #4 (permalink)  
Antiguo 19/10/2012, 09:45
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: $(window).width() devuelve 0 en IE

Si tienes razón ambos son diferentes pero realizando mis pruebas ambos en los demás navegadores tanto document como window toman el mismo valor, excepto en IE que falle tanto en la versión IE9 y IE7

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 19/10/2012, 09:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: $(window).width() devuelve 0 en IE

Te hice caso y probé. Con document si devuelve valor:

$(document).width() // devuelve 551

$(window).width() // devuelve 0


Ademas de jquery 1.8.2 estoy cargando jquery-ui-1.9.0

Alguna idea de que puede estar pasando con IE9 y esta ultima version de jQuery?

editado: probe en modo compatibilid IE 7 y 8 pero tambien devuelve 0. :(
  #6 (permalink)  
Antiguo 19/10/2012, 10:02
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: $(window).width() devuelve 0 en IE

Miren, probe lo mismo en otro html y funciona. Entonces es algo en la pagina de diseño liquido. Es raro, porque con jquery 1.7.2 funciona ok. Deja de funcionar con la version 1.8.2.

Alguna pista?

Ah, descartado que jquery UI tenga algo que ver. Probe quitarlo y es lo mismo.
  #7 (permalink)  
Antiguo 19/10/2012, 10:14
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: $(window).width() devuelve 0 en IE

Parece que el error esta al momento de declarar el DOCTYPE del documento que jQuery 1.8 no lo esta tomando si este esta validando en modo de rarezas

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Esto debería ser cambiado por esto

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

o en todo caso por esto también

<!DOCTYPE HTML>

Ya lo probé y esta funcionando OK

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Última edición por Dradi7; 19/10/2012 a las 10:43 Razón: Repetí un doctype de mas
  #8 (permalink)  
Antiguo 19/10/2012, 11:21
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: $(window).width() devuelve 0 en IE

Mh, que raro. En realidad, ya estoy usando <!DOCTYPE HTML>, que viene a ser el de HTML5.

Gracias por probar, de todas maneras.

Sigo buscando solución.
  #9 (permalink)  
Antiguo 19/10/2012, 11:39
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: $(window).width() devuelve 0 en IE

Otra cosa que tienes que ver que no funciona cuando el navegador de IE esta en Modo de documento no estándar

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #10 (permalink)  
Antiguo 19/10/2012, 11:44
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: $(window).width() devuelve 0 en IE

Cita:
Iniciado por Dradi7 Ver Mensaje
Otra cosa que tienes que ver que no funciona cuando el navegador de IE esta en Modo de documento no estándar

Saludos
Buen dato. Esta en modo Quirks.

Ese modo es el default? Porque en modo IE9 si funciona el codigo, pero en Quirks no.
  #11 (permalink)  
Antiguo 19/10/2012, 11:48
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: $(window).width() devuelve 0 en IE

que sepa el modo por default que he visto en varias maquinas clientes era del Modo estándar IE 7 y en otros caso el Modo estándar IE 9, de repente lo has cambiado sin querer cuando estabas programando

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #12 (permalink)  
Antiguo 19/10/2012, 11:58
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: $(window).width() devuelve 0 en IE

Gracias por tu ayuda! Me salvaste el dia.

Etiquetas: devuelve, funcion
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 04:53.