Infinite scroll

Бесконечный скроллинг. При прокрутке страницы до конца подгружаем новые сообщения.

HTML

<script src="&lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js&quot;&gt;&lt;/script&gt;"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<div id="messages"></div>

CSS

html, body, div, h3, p, ul, li {
    margin: 0;
    padding: 0;
}
body {
    -ms-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    background: url("http://pattern4site.ru/images/texture/_rebig/11-fon-dlya-sayta.png");
}
ul {
    list-style: none;
}
a {
    text-decoration: none;
}
a:link, a:visited {
    color: navy;
}

.msg {
    width: 80%;
    margin: 1em auto;
}
.msg__title {
    background: rgba(76, 88, 112, 0.8);
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
}
.msg__title h3 {
    font: normal 1.2em/2.4em SansSerif;
    text-align:  center;
}
.msg__content {
    background: rgba(235, 237, 236, 0.8);
    padding: 0.5em 1em;
}
.msg__content p {
    padding: 0.2em 0 0.2em;
    text-align: justify;
    text-indent: 1em;
}
.msg__info {
    background: rgba(162, 169, 175, 0.8);
    border-bottom-left-radius: 1em;
    border-bottom-right-radius: 1em;
}
.msg__info ul {
    width: 100%;
    height: 2em;
    display: inline-flex;
    justify-content: space-around;
    align-items: center;
}
.msg__info ul li {
    display: inline-block;
}

JavaScript

'use strict';

$(document).ready(function () {
    var msgTemplate =
        '<div class="msg">' +
            '<div class="msg__title">' +
                '<h3>Lorem ipsum dolor sit amet</h3>' +
            '</div>' +
            '<div class="msg__content">' +
                '<p>In porttitor. Donec laoreet nonummy augue. Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy. Fusce aliquet pede non pede. Suspendisse dapibus lorem pellentesque magna. Integer nulla. Donec blandit feugiat ligula. Donec hendrerit, felis et imperdiet euismod, purus ipsum pretium metus, in lacinia nulla nisl eget sapien.</p>' +
                '<p>Donec ut est in lectus consequat consequat. Etiam eget dui. Aliquam erat volutpat. Sed at lorem in nunc porta tristique. Proin nec augue. Quisque aliquam tempor magna. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc ac magna. Maecenas odio dolor, vulputate vel, auctor ac, accumsan id, felis. Pellentesque cursus sagittis felis.</p>' +
                '<p>Pellentesque porttitor, velit lacinia egestas auctor, diam eros tempus arcu, nec vulputate augue magna vel risus. Cras non magna vel ante adipiscing rhoncus. Vivamus a mi. Morbi neque. Aliquam erat volutpat. Integer ultrices lobortis eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin semper, ante vitae sollicitudin posuere, metus quam iaculis nibh, vitae scelerisque nunc massa eget pede. Sed velit urna, interdum vel, ultricies vel, faucibus at, quam. Donec elit est, consectetuer eget, consequat quis, tempus quis, wisi.</p>' +
                '<p>In in nunc. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Donec ullamcorper fringilla eros. Fusce in sapien eu purus dapibus commodo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus....