Comunidad de diseño web y desarrollo en internet online

Problema con .outerWidth() en chrome

Citar            
MensajeEscrito el 27 Jul 2012 04:45 pm
Que tal amigo aqui les vengo con esto estoy desarrollando un plugin, y tengo un div con id="x" que mide 500px de ancho bien cuando y dentro de este tengo N cantidad de <a><img /></a> bien el chiste es que cuando ejecuto mi plugin lo que hago es calcular el ancho de las imagenes que se usaran como thums que son las img

para esto ejecuto

containerImg.children('a:first').children('img').outerWidth()

donde containerImg es el padre o sea <div id="x"></div> y obviamente con el children le estoy diciendo que me busque la primera <a> y con otro children la <img> y por ultimo me extraiga el outerWidth de ese objeto lo cual funciona pero en FIREFOX me da 60px porque la imagen mide 50 mas 10px de margin-right, el problema es que al usar el console, chrome me marca que mide 0px o seaaaaa!! estoy que me quiero volver chango...

no se igual y estoy abusando del children pero si alguien me puede hechar la mano con gusto estoy abierto a sugerencia... Saludos a toda la bandera

Por ldgmmorales

Claber

142 de clabLevel

1 tutorial

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Jul 2012 05:07 pm
Investigando por la red me encontre que el $(function(){ }) que por lo regular usamos en jquery no jala a la perfeccion en chrome y es por eso que debemos usar $(window).load(function(){})... U_u

Por ldgmmorales

Claber

142 de clabLevel

1 tutorial

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Jul 2012 05:19 pm
No es eso, lo que pasa es que cuando trabajas con imágenes, tienes que esperar a que estas estén listas antes de calcular las dimensiones, por que obviamente no puedes sacar el ancho de una imagen si esta no ha cargado completamente en el cliente, por eso te daba 0px y por eso al poner el código dentro del evento load() de jquery, lo que haces es esperar a que todo el documento este listo con imágenes incluidas antes de ejecutarlo.

Por HtrMancera

Claber

342 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 27 Jul 2012 05:24 pm
ooohhhh excelente HtrMancera... muchas gracias... por la aclaracion, entonces el usar $(window).load(function(){}) es mucho mas recomendable que las otras opciones verdad?

Por ldgmmorales

Claber

142 de clabLevel

1 tutorial

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Jul 2012 10:16 pm
Todo depende de lo que quieras hacer, en este caso como trabajas directamente con imágenes no solo es mas recomendable sino necesario utilizar el window.load, en otros casos(la mayoría) es más practico el $(document).ready

saludos.

Por HtrMancera

Claber

342 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 29 Jul 2012 03:18 am
En jQuery $(function(){}) funciona perfectamente bien, es una abreviación perfectamente válida para $(document).ready();

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 31 Jul 2012 12:41 am
pues fijate The Fricky que si funciona bien pero en este caso que estaba cargando imagenes no porque como dice el compañero HtrMancera no habian terminado de cargar las imagenes cuando ya les estaba piendo extraer una medida, muchas gracias por tu aporte bro ! :)

Por ldgmmorales

Claber

142 de clabLevel

1 tutorial

Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.