Ленивая загрузка группы div с помощью jquery - PullRequest
1 голос
/ 22 декабря 2011

Мне тяжело пытаться реализовать ленивую загрузку для группы div, я проектирую административную страницу, которая отображает много информации, информацию внизу, которую я хотел бы получить только по мере необходимости,желательно до тех пор, пока пользователь не прокрутит до конца, и я не использую jquery для извлечения контента, используя ajax.

Мои div в формате:

<div id="86296" class="messages"><div>
<div id="86322" class="messages"><div>
<div id="86394" class="messages"><div>
<div id="86503" class="messages"><div>
<div id="86635" class="messages"><div>
<div id="86644" class="messages"><div>

Где число - это идентификатор сообщения, который янужно пройти при совершении вызова AJAX.Любые идеи о том, как я могу реализовать это ??

Ответы [ 2 ]

0 голосов
/ 07 апреля 2013

Вы можете использовать КЛАСС для получения всех DIV на событии LazyLoad.

$(function() {
   $(".messages.img").lazyload({
       effect : "fadeIn"
   });
});
0 голосов
/ 22 декабря 2011

То, что вы пытаетесь достичь, на самом деле не "ленивая загрузка".Извлечение данных (DIV) и содержимого в них должно производиться с помощью вызова $.ajax(), если вы хотите получить его после загрузки страницы.

Мое предложение по производительности будет:

  1. Загрузите страницу только с вашим начальным содержимым.

  2. Скрыть контейнер для ваших «загруженных лентами» контейнеров, которые будут храниться.

  3. при $(document).ready() загрузить DIV с помощью вызова AJAX, а затем показать скрытый контейнер ...

Вы получите производительность, которую ищетеизбегая их при начальной загрузке страницы, но не нужно связываться с какой-либо механикой прокрутки, которая была бы очень хитрой.

$(document).ready(function() {
    // get your element id here and stuff it in a var.
    // make your $.ajax() call here, 
    //   - on success, add the data to the element with the ID you fetched.
});
...