Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/08/2016, 09:44
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 4 meses
Puntos: 977
Respuesta: Cambio de Imagen para responsividad

Para un caso como el que recién explicaste —y que creo que debiste mencionar desde un inicio para así recomendarte otra solución—, pues, solo te queda controlar el problema mediante una función que se ejecute antes de la carga de los subrecursos del DOM (audio, vídeo, imágenes, frames), pero luego de la carga del DOM.

Código Javascript:
Ver original
  1. document.addEventListener("readystatechange", function(){
  2.     switch (this.readyState){
  3.         case "loading":
  4.             console.log("El documento está cargando");
  5.             break;
  6.         case "interactive":
  7.             console.log("El DOM ha terminado de cargar, pero no los subrecursos");
  8.             break;
  9.         case "complete":
  10.             console.log("El DOM y los subrecursos han terminado de cargar");
  11.             break;
  12.     }
  13. }, false);

Desde que el documento empieza a cargar hasta que termina, se producen tres eventos cuya descripción puedes ver en los mensajes del ejemplo. Sabiendo esto, lo que podrías hacer es, leer las medidas del dispositivo (ancho y alto) y, según sea el caso, asignar la imagen respectiva, misma que cargará de forma asíncrona puesto que fue añadida luego del proceso de carga del DOM. Esto es algo similar al ejemplo de las media queries, pues también deberás leer las medidas del dispositivo para establecer una imagen en particular, solo que aquí también podrás definir los valores para las propiedades alt y title. Y estos mismos cambios deberás establecerlos en una función que se ejecute cuando se redimensione la ventana o cuando se cambie la orientación del dispositivo, para lo cual existen los eventos respectivos.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand