Привязка отложенной загрузки изображения к новым изображениям, вставленным после запроса ajax

Я использую плагин Lazy Load Мики Тууполы http://www.appelsiini.net/projects/lazyload, чтобы откладывать загрузку изображений по мере того, как вы прокрутите вниз длинную галерею изображений. Проблема в том, что после 10 изображений я использую бесконечную прокрутку, поэтому я получаю следующие 10 изображений и добавляю их через ajax. Отложенная загрузка больше не работает со следующим пакетом добавленных изображений.

Это довольно насыщенная javascript галерея изображений, поэтому для всего остального (например, всплывающих подсказок, модальных оверлеев и т. д.) я использовал делегат() jQuery для привязки к элементам, вставленным ajax. Проблема с плагином Lazy Load заключается в том, что я не уверен, к какому событиюпривязываться.

Допустим, я хочу лениво загружать изображения с классом «ленивый». Я бы написал так:

$("img.lazy").lazyload({ 
    effect: "fadeIn" 
});

и работает для первых 10 изображений, но перестает работать после вставки большего количества через ajax. Единственное, что я могу придумать, это использовать делегат для события load, например:

$(document).delegate("img.lazy", "load", function(event) {  
    $(this).lazyload({ 
         effect: "fadeIn" 
    });     
});

, но это все ломает. Спасибо!

РЕДАКТИРОВАТЬ: jQuery, который я использую для загрузки большего количества записей (это приложение Rails):

$(window).scroll(function() {
    var url;
    url = $(".pagination .next_page").attr("href");
    if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 50) {
    $(".pagination").html("

loading more images...

"); return $.getScript(url); } }); $(window).scroll();

10
задан DelPiero 5 April 2012 в 23:15
поделиться