Please tell me how you can implement endless scrolling for the site, like on Facebook and Twitter. Help me please. That is, it is necessary that the person scrolled down, he had a picture of the download, and the content was loaded immediately, while all this in javascript?
- oneThanks for permission. - evlanoff
- oneI wonder what will happen if you look at the code without getting permission? - Vladimir Gordeev
- In the topic: You simply load the data dynamically with ajax, generate html elements, add them to the bottom of the page. In the meantime, loading ajax, you can insert the item depicts the download. Where is the problem? - Vladimir Gordeev
- Endless Scroll - Evil - Specter
|
4 answers
As I did this, of course, but then I only studied
setInterval('scroll();', 250); // Вместо onscroll используем таймер, так как некоторые браузеры немного подвисают var next = "2", loading = false; // Объявляем переменные next - страница, котору нам надо загрузить, loading во время подгрузки true function scroll() { if (loading) return; // если уже грузится останавливаем функцию if (window.pageYOffset > (document.body.offsetHeight - 3500)) { // если скролл ниже высота_страницы - 3500, то load_feed(next); // запускаем функцию загрузки, передавая переменную page } } function load_feed(m) { if (!m) return; // если не передана страница, которую надо загрузить или она ложь, то останавливаем loading = true; // говорим, что пошла загрузка $("#feed_" + m).html('<center>Загрузка...</center>'); // пишем загрузку $.ajax({ url: "/ajax/feed.php?page=" + m, // ajax запрос success: function (r) { // если все хорошо, то сервер должен вернуть JSON {html:"код подгружаемого кусочка", next:"номер следующей страницы"} eval('s=' + r + ';'); // превращаем этот ответ сервера в объект $("#feed_" + m).html(s.html); // вставляем этот кусок if (s.error) return console.log(s.error); // если сервер вернул ошибку, пишем в консоль (в моем случаи это {error:"Описание ошибки"}) next = s.next; // изменяем значение следующей страницы loading = false; // говорим, что ничего уже не грузится } }); } html: <div id="feed_2"></div> Примечания: в конце подгружаемого кусочка должен быть <div id="feed_(номер следующей страницы)"></div>, 3500 самый оптимальный вариант, для текста, поскольку пользователю почти не приходится ждать, но если используются тетрис из изображений, например галерея или каталог товаров, то лучше это уменьшить до 500..1000
- Once govnokod, so why laid out? Govnokoderov procreate? - Salivan
- 3Why immediately produce, just the principle of work to show. If you redo a little, for example, to remove everything into one function, then even a suitable option may work. - ЬЬ_
|
look in google, here is the first link
|
Here is a small example of a scribble.
|
Try via ajax. Loading page
|