A veces, las imágenes tardan en reproducirse en el navegador. Quiero mostrar una imagen ocupada mientras se está descargando la imagen real, y cuando se descarga la imagen, se elimina la imagen ocupada y se debe mostrar la imagen real. ¿Cómo puedo hacer esto con JQuery o cualquier javascript?Cómo mostrar la imagen de carga mientras se está descargando la imagen real
Respuesta
se puede hacer algo como esto:
// show loading image
$('#loader_img').show();
// main image loaded ?
$('#main_img').on('load', function(){
// hide/remove the loading image
$('#loader_img').hide();
});
le asignará load
caso a la imagen que se activa cuando la imagen se ha terminado de cargar. Antes de eso, puedes mostrar tu imagen de cargador.
Sólo añadir una imagen de fondo a todas las imágenes usando CSS:
img {
background: url('loading.gif') no-repeat;
}
Esto funciona bien. – Swar
Gracias, ayudó. –
Debería ser útil en las aplicaciones de ADF donde la extenuación de javascript no es determinista debido a la representación parcial de la página. Voy a intentarlo seguro :-). –
que utilizan una técnica similar a lo que ha escrito @Sarfraz, pero en lugar de ocultar elementos, acabo de manipular la clase de la imagen que yo' m cargando
<style type="text/css">
.loading { background-image: url(loading.gif); }
.loaderror { background-image: url(loaderror.gif); }
</style>
...
<img id="image" class="loading" />
...
<script type="text/javascript">
var img = new Image();
img.onload = function() {
i = document.getElementById('image');
i.removeAttribute('class');
i.src = img.src;
};
img.onerror = function() {
document.getElementById('image').setAttribute('class', 'loaderror');
};
img.src = 'http://path/to/image.png';
</script>
En mi caso, a veces las imágenes no se cargan, así que controlen el evento onerror para cambiar la clase de imagen para que muestre una imagen de fondo de error (en lugar de icono de imagen rota del navegador).
Esto es diferente: está cargando la imagen _outside_ de la página DOM y luego moviéndola al elemento 'img' desde la memoria caché del navegador. Es posible que el método no funcione si la imagen tiene algún tipo de encabezado de respuesta _no caching_ HTTP. – Edward
Utilice un constructor de javascript con una devolución de llamada que se activa cuando la imagen ha terminado de cargarse en segundo plano. Simplemente lo usé y funciona muy bien para mí en todos los navegadores. Aquí está el thread with the answer.
en vez de hacer este método citado de https://stackoverflow.com/a/4635440/3787376,
Usted puede hacer algo como esto:
// show loading image $('#loader_img').show(); // main image loaded ? $('#main_img').on('load', function(){ // hide/remove the loading image $('#loader_img').hide(); });
Se asigna
load
caso a la imagen que se activa cuando la imagen tiene carga terminado . Antes de eso, puedes mostrar tu imagen de cargador.
puede utilizar una función jQuery diferente para hacer la carga de imágenes se desvanecen, entonces pueden ocultar:
// Show the loading image.
$('#loader_img').show();
// When main image loads:
$('#main_img').on('load', function(){
// Fade out and hide the loading image.
$('#loader_img').fadeOut(100); // Time in milliseconds.
});
"Una vez que la opacidad llega a 0, la propiedad estilo de la pantalla se ajusta a ninguno. " http://api.jquery.com/fadeOut/
O usted no podía usar la biblioteca jQuery porque ya existen métodos sencillos de JavaScript entre navegadores.
- 1. Muestra la imagen que se carga mientras se realiza $ .ajax
- 2. Mostrar un ícono de carga mientras se está descargando un recurso de red
- 3. Mostrar la imagen de carga durante la publicación con ajax
- 4. ¿Cómo se muestra la imagen de carga cuando se está cargando una imagen grande?
- 5. Haskell Network.HTTP descargando incorrectamente la imagen
- 6. ¿Cómo mostrar la imagen con datos de carga WebView?
- 7. Cargando imagen gif mientras jQuery ajax se está ejecutando
- 8. JQuery - ¿Verificar cuando se carga la imagen?
- 9. cheque Jquery si la imagen se carga
- 10. Evento de carga de imagen después de cargar la imagen
- 11. ¿Cómo mostrar la carga de animación en la vista de la imagen de Android?
- 12. ¿Cómo mostrar una imagen?
- 13. ¿Cómo visualizo una animación gif para el usuario mientras se carga una imagen (en la web)?
- 14. ¿Cómo mostrar la imagen en pygame?
- 15. ¿Cómo mostrar la imagen en grails GSP?
- 16. ¿Cómo se carga la imagen del recurso png en Silverlight?
- 17. cómo mostrar la imagen dicom en matlab?
- 18. ¿Cómo mostrar la imagen en RSS?
- 19. Descargando la imagen normal Vs retina device image (2x)
- 20. Alinear verticalmente la imagen mientras se sale del contenedor
- 21. Carga lenta de la imagen Flexslider
- 22. Mostrar la imagen en el centro de la página
- 23. Qt: mostrar la imagen en el widget
- 24. Django - Eliminar "Actualmente" en un formulario de edición de imagen y reemplazarlo con la imagen real
- 25. imagen de carga diferida con barra de progreso que daña la imagen cuando se muestra la imagen
- 26. PHP GD - cambio de tamaño de marco/imagen de imagen pero no la imagen real
- 27. Carga de la imagen de Android-Django
- 28. imagen Visualización de 'carga' cuando AJAX llamada está en curso
- 29. Mostrar la imagen encima del objeto flash
- 30. Detectar carga de imagen
También he usado esta técnica y funciona muy bien. Solo recuerde manejar el error y abortar casos ... – will
@will cómo manejar los errores? – Michelle
@WearetheWorld agregue controlador para el evento de error. puedes hacer algo como '$ (img) .load (handler) .error (handler)'. @ver http://api.jquery.com/error/. –