Запустить ленивую загрузку jquery при загрузке страницы без прокрутки

Я пытаюсь использовать плагин отложенной загрузки jQuery с плагин jQuery Isotope. Кажется, все идет хорошо, однако мне трудно понять, как изменить плагин ленивой загрузки в соответствии с моими потребностями.

Плагин по умолчанию обрабатывает событие прокрутки, чтобы вызвать ленивую загрузку. Также есть наведение и клик. Я хотел бы, чтобы плагин срабатывал при загрузке страницы. Скажем, через 2000 мс после завершения $(window).load().

Я вижу, что могу создавать свои собственные функции событий в соответствии с документацией, например:

$(function() {          
    $("img:below-the-fold").lazyload({
        event : "sporty"
    });
});
$(window).bind("load", function() { 
    var timeout = setTimeout(function() {$("img.lazy").trigger("sporty")}, 5000);
}); 

Однако из-за моего невежества я не вижу, как я буду работать с этим фрагментом, чтобы создать собственное событие загрузки страницы.

Я хотел бы, чтобы исходные изображения лениво загружались после $(window).load(), а затем, когда я применяю события изотопной фильтрации, новые элементы загружались лениво по мере их заполнения DOM.

Любая помощь горячо приветствуется.


person robabby    schedule 03.01.2013    source источник
comment
Этот фрагмент кода довольно прост. Я плохо понимаю, что вы не получаете. Кстати, что вы имеете в виду, когда говорите о новинках?   -  person Sam    schedule 03.01.2013
comment
Синтаксис приведенного выше фрагмента заставляет меня задуматься о том, как я могу указать свою функцию и правильно ее вызвать. Что касается «новинок» — изотоп скрывает многие элементы со страницы при загрузке. Когда кто-то щелкает параметр фильтрации, некоторые из скрытых элементов отображаются и анимируются в нужном положении.   -  person robabby    schedule 03.01.2013
comment
Я до сих пор не понимаю, зачем вам цикл. Я предлагаю вам использовать селектор jQuery для всех изображений, которые вы хотите лениво загрузить, и привязать их к событию загрузки, как в фрагменте кода.   -  person Sam    schedule 03.01.2013


Ответы (1)


Я сделал плагин отложенной загрузки, который может помочь. После инициализации вы можете просто вызвать $.fn.lazyloadanything('load'), и он автоматически загрузится без предварительной прокрутки. Нет необходимости настраивать. Проверьте это:

https://github.com/shrimpwagon/jquery-lazyloadanything

person shrimpwagon    schedule 04.03.2013