Плавно подгружаемая лента статей из JSON

328
07 апреля 2017, 22:54

Подскажите, пожалуйста как сделать плавно подгружаемую ленту статей из JSON файла. Или хотя бы ссылку на статью с похожим примером, сам не нашел.

Пока вот как это представляю себе сам, поправьте если ошибаюсь:

Показываю гифку загрузки

Есть урл который отдает строку вида:

[{
    "Id": 1,
    "Title": "Заголовок 1",
    "Image": "img-url-1"
}, {
    "Id": 2,
    "Title": "Заголовок 2",
    "Image": "img-url-2"
}, ......., {
    "Id": 50,
    "Title": "Заголовок 50",
    "Image": "img-url-50"
}]

Я ее принимаю асинхронным запросом через жквери $.getJSON()

Дальше в колбеке complete я скрываю иконку процесса загрузки и строю html код первых 10 записей которые необходимо отобразить

После чего этот код я добавляю в пустую ленту посредством .append()

Но вот еще момент, кроме заголовков статей у меня есть еще картинки, которые будут в ленте и не отобразятся сразу, как мне понять что они уже загрузились и можно плавно показывать новые элементы ленты? Плюс это нужно делать каждый раз когда пользователь докрутил мышкой до низа страницы чтобы отрисовать новые элементы.

И еще, как мне отобразить при первой загрузке не 10 элементов, а столько сколько поместятся во вью порт? если я заранее не знаю их высоту так как заголовки могут быть разной длины.

READ ALSO
Не работает .hasClass

Не работает .hasClass

Мой скрипт:

336
h3 и a в один ряд (Bootstrap, CSS)

h3 и a в один ряд (Bootstrap, CSS)

Доброй ночи! Я разбираюсь с Bootstrap'ом и не могу понять, поставил h3 и a

266
Div к низу родительского? Без position: absolute!

Div к низу родительского? Без position: absolute!

Есть примерно такой документ:

257
Большой /var/lib/mysql/ibdata1

Большой /var/lib/mysql/ibdata1

Я сохранял данные из таблиц в текстовые файлыВсего вышло примерно 40-60 кбт

265