Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

195
Vistas
Cómo cargar imágenes de forma dinámica (o perezosa) cuando los usuarios las desplazan a la vista

He notado esto en numerosos sitios web "modernos" (por ejemplo, búsqueda de imágenes de Facebook y Google) donde las imágenes debajo del pliegue se cargan solo cuando el usuario se desplaza hacia abajo en la página lo suficiente como para llevarlos dentro de la región de la ventana gráfica visible ( al ver la fuente, la página muestra X número de etiquetas <img> pero no se obtienen del servidor de inmediato ). Cómo se llama esta técnica, cómo funciona y en cuántos navegadores funciona. ¿Y hay un complemento de jQuery que pueda lograr este comportamiento con una codificación mínima?

Editar

Bonificación: alguien puede explicar si hay un evento "onScrolledIntoView" o similar para elementos HTML. Si no, ¿cómo funcionan estos complementos?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Algunas de las respuestas aquí son para página infinita. Lo que pide Salman es la carga diferida de imágenes.

Enchufar

Manifestación

EDITAR: ¿Cómo funcionan estos complementos?

Esta es una explicación simplificada:

  1. Encuentre el tamaño de la ventana y encuentre la posición de todas las imágenes y sus tamaños
  2. Si la imagen no está dentro del tamaño de la ventana, reemplácela con un marcador de posición del mismo tamaño
  3. Cuando el usuario se desplaza hacia abajo y la posición de la imagen <desplazamiento + altura de la ventana, la imagen se carga
over 4 years ago · Santiago Trujillo Denunciar

0

Se me ocurrió mi propio método básico que parece funcionar bien (hasta ahora). Probablemente hay una docena de cosas que algunos de los guiones populares abordan en las que no he pensado.

Nota : esta solución es rápida y fácil de implementar pero, por supuesto, no es excelente para el rendimiento. Definitivamente mire el nuevo Intersection Observer como lo menciona Apoorv y lo explica desarrolladores.google si el rendimiento es un problema.

El JQuery

 $(window).scroll(function() { $.each($('img'), function() { if ( $(this).attr('data-src') && $(this).offset().top < ($(window).scrollTop() + $(window).height() + 100) ) { var source = $(this).data('src'); $(this).attr('src', source); $(this).removeAttr('data-src'); } }) })

Ejemplo de código html

 <div> <img src="" data-src="pathtoyour/image1.jpg"> <img src="" data-src="pathtoyour/image2.jpg"> <img src="" data-src="pathtoyour/image3.jpg"> </div>

Explicado

Cuando se desplaza la página, se comprueba cada imagen de la página.

$(this).attr('data-src') - si la imagen tiene el atributo data-src

y qué tan lejos están esas imágenes de la parte inferior de la ventana...

$(this).offset().top < ($(window).scrollTop() + $(window).height() + 100)

ajusta el +100 a lo que quieras (-100 por ejemplo)

var source = $(this).data('src'); - obtiene el valor de data-src= aka la url de la imagen

$(this).attr('src', source); - pone ese valor en el src=

$(this).removeAttr('data-src'); - elimina el atributo data-src (para que su navegador no desperdicie recursos jugando con las imágenes que ya se han cargado)

Agregar al código existente

Para convertir su html, en un editor simplemente busque y reemplace src=" con src="" data-src="

over 4 years ago · Santiago Trujillo Denunciar

0

( Editar: reemplazó los enlaces rotos con copias archivadas)

Dave Artz de AOL dio una excelente charla sobre optimización en la jQuery Conference Boston el año pasado. AOL usa una herramienta llamada Sonar para carga a pedido basada en la posición de desplazamiento. Verifique el código para conocer los detalles de cómo compara scrollTop (y otros) con el desplazamiento del elemento para detectar si parte o todo el elemento es visible.

sonda jQuery

Dave habla sobre Sonar en estas diapositivas . Sonar comienza en la diapositiva 46, mientras que la discusión general sobre "carga según demanda" comienza en la diapositiva 33.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda