Múltiples contenedores en Lazy Load

Estoy tratando de aplicar el complemento Lazy Load a varios contenedores. Encontré esta pregunta similar: Carga perezosa en contenedores horizontales MÚLTIPLES .

este es mi bash: http://jsfiddle.net/BAFMC/

$(".p_outer_content").each(function() { var tthis = $(this); $(this).find('img').lazyload({ container: tthis }); });​ 

Pero tengo el mismo problema que la pregunta mencionada, que es que la carga diferida solo se aplica al último contenedor (.p_outer_content) (que es el tercero en el violín).

¿Alguien sabe como resolver esto o tiene alguna otra sugerencia? Gracias por adelantado’

EDITAR:

Ok, intenté volver a aplicar la función de carga lenta cada vez que se desplaza uno de los contenedores:

 $(".p_outer_content").each(function() { var tthis = $(this); $(this).find('img').lazyload({ container: tthis }); }); $(".p_outer_content").scroll(function() { var tthis = $(this); $(this).find('img').lazyload({ container: tthis }); });​ 

http://jsfiddle.net/BAFMC/4/

Lo cual funciona, pero no sé si es una buena forma de resolverlo. ¿Alguien sin embargo viene con una mejor solución? Gracias’

Hay un error en el complemento LazyLoad. Cuando proporciona un contenedor personalizado, se produjo una fuga de variable global. He añadido la solución mínima necesaria en esta bifurcación aquí.

https://raw.github.com/marchingants/jquery_lazyload/master/jquery.lazyload.js

Aquí hay una demostración de trabajo http://jsfiddle.net/BAFMC/5/

Estoy usando el archivo github raw directamente en ese ejemplo, pero en su proyecto, clone el archivo, minimícelo y utilícelo localmente.

Para que varios divs funcionen con carga lenta, debe mencionar los identificadores de contenedor de las imágenes explícitamente. Cuando tenga dos divs #container1 y #container2 , escriba:

$("#container1 img.lazy").lazyload({ container: $("#container1") });

$("#container2 img.lazy").lazyload({ container: $("#container2") });

En lugar de: $("img.lazy").lazyload({ container: $("#container1") });

$("img.lazy").lazyload({ container: $("#container2") });

    Intereting Posts