Foros del Web » Programando para Internet » Jquery »

Consulta JS / jquery / PNG / ie8

Estas en el tema de Consulta JS / jquery / PNG / ie8 en el foro de Jquery en Foros del Web. Hola, quizás alguien me pueda ayudar con un problemilla que tengo con jquery, estoy intentado hacer un simple fade, tengo un contenedor("#tech-wrap") con divs(".tech"), estos ...
  #1 (permalink)  
Antiguo 15/01/2012, 14:39
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Consulta JS / jquery / PNG / ie8

Hola,
quizás alguien me pueda ayudar con un problemilla que tengo con jquery, estoy intentado hacer un simple fade, tengo un contenedor("#tech-wrap") con divs(".tech"), estos a su vez tienen otros divs(".tech-logos") y estos tienen unos PNGs con transparencias. Así lo estoy animando, y se ve bien en todos los navegadores menos en IE8, IE7...que se ve en fondo negro la transparencia del PNG.

Código Javascript:
Ver original
  1. $('.tech').mouseover(function(){
  2.             $(this).find('.tech-logos').stop().fadeTo(200, 1);
  3.         });
  4.        
  5.         $('.tech').mouseout(function(){
  6.             $(this).find('.tech-logos').stop().fadeTo(300, 0.3);
  7.         });

buscando encontré un solución, también la probé y se resolvió el problema, lo que pasa es que me modifica todos los PNGs de la página (que no tienen nada que ver con esta parte) y algunos los duplica y así no sirve, esto es lo que tengo:

Código Javascript:
Ver original
  1. var i;
  2. for (i in document.images) {
  3.     if (document.images[i].src) {
  4.         var imgSrc = document.images[i].src;
  5.         if (imgSrc.substr(imgSrc.length-4) === '.png' || imgSrc.substr(imgSrc.length-4) === '.PNG') {
  6.             document.images[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='crop',src='" + imgSrc + "')";
  7.         }
  8.     }
  9. }

pero como puedo hacer para que en vez de llamar a todas las imágenes del documento, solo llame a las que están dentro del contenedor ("#tech-wrap") ??

no pude salir de esta duda... agradezco mucho cualquier sugerencia

chau
  #2 (permalink)  
Antiguo 15/01/2012, 19:12
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: Consulta JS / jquery / PNG / ie8

Yo tambien me topé con ese problema, encontre varias soluciones pero ninguno me convencía, prefiero tener un codigo limpio, libre de hacks. Tuve que cambiarlo a JPG y en otras ocaciones cambiar de efecto.
  #3 (permalink)  
Antiguo 16/01/2012, 06:46
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Consulta JS / jquery / PNG / ie8

gracias por responder, pero no voy poder usar JPGs porque si necesito esa transparencia ya que el objeto se mueve y tiene otras cosas por detrás...

lo único que estoy necesitando es poder llamar a todas las imágenes de un contenedor en vez de toda la página (document.images) alguien sabe?? intente muchas cosas como:

document.getElementById(id).images

pero nada, obviamente no tengo idea de como hacerlo

gracias!
  #4 (permalink)  
Antiguo 16/01/2012, 08:07
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: Consulta JS / jquery / PNG / ie8

El filtro se aplica solo a las imagenes de #contenido2
Código HTML:
Ver original
  1.         <title>Jejeje</title>
  2.         <meta http-equiv="content-type" content="text/html;charset=utf-8">
  3.         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  4.  
  5. <script type="text/javascript">
  6. $(function(){
  7.     $("#contenido2 img").each(function(i,img){
  8.         if (img.src) {
  9.             var imgSrc = img.src;
  10.             if (imgSrc.substr(imgSrc.length-4) === '.png' || imgSrc.substr(imgSrc.length-4) === '.PNG') {
  11.                 img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='crop',src='" + imgSrc + "')";
  12.             }
  13.         }
  14.     });
  15.     setInterval(function(){ animar()},2000);
  16.     function animar(){
  17.         $("#contenido1,#contenido2").fadeToggle("slow", "linear");
  18.     }
  19. });
  20. </head>
  21.     <div id="contenido1">
  22.         <img src="1.png" alt="" />
  23.     </div>
  24.     <div id="contenido2">
  25.         <img src="2.png" alt="" />
  26.         <img src="3.png" alt="" />
  27.     </div>
  28. </body>
  29. </html>
  #5 (permalink)  
Antiguo 17/01/2012, 22:48
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Consulta JS / jquery / PNG / ie8

gracias ! funciona perfectamente, parece que me había complicado de más y solo era poner "#contenido img" igual que en CSS.

Ahora me gustaría llevar esto pero más bien para las imágenes de fondo, si es posible creo que será más complicado...

Etiquetas: ie8, png, transparencia
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 16:03.