6 jquery infinite scrolling demos

Где использовать плагины WordPress с бесконечной прокруткой?

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

Но если вы публикуете блоги из 3000 слов в месяц и между блогами из 700 слов, тогда вы можете расставить приоритеты для блогов по-другому. Плагин Infinite Scroll WordPress хорош для первого случая.

Во-вторых, если у вас есть такая социальная сеть, как Facebook, то все сообщения будут одинаковыми. Некоторые из них будут более популярными, некоторые – менее популярными

Но нет никаких автоматических критериев, чтобы установить более высокую важность одного сообщения над другим. Тогда, в этом случае, для вашего сайта подойдет плагин Infinite Scroll WordPress

Brick+Mason

Пример работы темы Brick + Mason под ВордПресс

Проект с минималистическим уклоном. Это тема не является
бесплатной, но годовая стоимость составляет всего 24$. За 5 долларов можно
докупить поддержку от разработчиков, но она вряд ли пригодится. Brick+Mason – это простой и универсальный
вариант для тех, кто не делает ставку на дизайн, а собирается брать читателя за
счет ценности и оригинальной подачи контента. Создатели предлагают 28+ вариаций
дизайна и структуры. Каждая сделана на европейский манер: большие изображения,
стандартные шрифты, миниатюрный текст. Есть парочка вариантов с оглядкой на
другие темы. К примеру, для кинематографа подойдет Velika или Refined. В качестве основы
для сайта компании лучше взять The Contractor,
а для классики – Le Maitre’d. Присутствуют наработки и
для нестандартных сервисов. Подтверждением этому является The Navigator. Ее можно
приспособить под различные нужды: поиск недвижимости, продажу авиабилетов,
туристический блог и другое. В принципе, это символизирует ключевую особенность
Brick+Mason – многогранность и универсальность.

Стандартный вариант темы с одноименным названием оптимален
для блога фотографа или путешественника. Простой, даже немного банальный дизайн
в совокупности с минимализмом делает его по-настоящему оригинальным. Логотип с
подписью расположен в верхнем левом углу. Справа разработчики разместили меню в
несколько колонок. Центральная область не имеет сайтбара и представлена набором
записей обычного формата: картинка с нижним заголовком и описанием. Страница
разворота поста поделена на 2 зоны. Первая занимает примерно 1/4 пространства,
является колонкой с заголовком, тегами, подписью автора и контентом. Оставшаяся
часть области отведена под фотографии. Однако прокрутки вы здесь не найдете.
Скроллинг реализован на главной. Причем, весьма необычным образом: дополнительные
2 ряда постов подгружают с анимацией – вылетом записей из левого верхнего угла
обзорного окна. За счет легкого веса ресурса в целом, это занимает не больше
секунды. Не оставим без внимания закрепленный подвал с правовой информацией и
кнопками соц. сетей. Клик по уголку с плюсом в правом верхнем углу открывает
форму, где расположен поиск и мини-иконка, например, группы Facebook. Это может показаться
удивительным, но Brick+Mason стабильно
входит в Топ лучших тем WP
с 2011 года.

Добавляем Vue в HTML структуру

Если вы не знакомы с Vue.js, можно обзорно познакомится в официальной документации — https://ru.vuejs.org/v2/guide/, и возможно данная статья станет мотивацией к изучению этого фреймворка :)

Кратко опишу изменения, которые мы внесём в HTML-структуру для использования возможностей Vue

Чтобы Vue смог работать с нашей вёрсткой, обернём всю вёрстку в

Атрибут можно добавить для того, чтобы в браузере при загрузке страницы сразу отображалась вёрстка, уже обработанная фреймворком ()

Для блока с постом добавим vue-атрибут , который будет отрисовывать посты на основе полученных данных. Чтобы Vue понимал, что каждый пост уникален, добавляем еще один vue-атрибут

Данные для каждого поста будем выводить с помощью специальной записи , ,

Для добавляем vue-атрибут , который будет отвечать за отображение лоадера, опираясь на значение переменной

Графики, таблицы и анимации

Handsontable — это  небольшой  jQuery плагин, который позволит вас создавать  Excel таблицы с помощью  HTML и jQuery. Вы обязательно должны им воспользоваться.

jQuery Sparklines — плагин для jQuery, который способен генерировать линейные графики в браузере используя данные, указанные в HTML, либо в JavaScript.

Teamwork Gantt представляет собой бесплатный jQuery-компонент, разработанный Teamwork,  который упрощает процесс создания диаграмм Ганта.

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

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

Smooth Div Scroll

Этот скрипт включает в себя полный набор функций:

  • Прокрутка колесом
  • Прокрутка Touch Screen (на компьютере)
  • Бесконечная прокрутка
  • Кнопки для прокрутки (при наведении)

Включаем следующие скрипты:

wp_enqueue_script( 'jquery-ui', get_template_directory_uri() . '/js/jquery-ui-1.10.3.custom.min.js' , array( ), '1.0' , true );  
wp_enqueue_script( 'mousewheel', get_template_directory_uri() . '/js/jquery.mousewheel.min.js' , array( ), '1.0' , true );  
wp_enqueue_script( 'kinetic', get_template_directory_uri() . '/js/jquery.kinetic.min.js' , array( ), '1.0' , true );  
wp_enqueue_script( 'smoothdivscroll', get_template_directory_uri() . '/js/jquery.smoothdivscroll-1.3-min.js' , array( ), '1.0' , true );

Подключаем стили CSS:

wp_enqueue_style( 'smoothDivScroll', get_template_directory_uri() . '/css/smoothDivScroll.css' , array( ), '1.0' );

Включаем скрипт:

$(document).ready(function () {
	$("#vertical").smoothDivScroll({
		mousewheelScrolling: "allDirections",
		manualContinuousScrolling: true,
		autoScrollingMode: "onStart",
		hotSpotScrolling: false,
		touchScrolling: true
	});
});

mousewheelScrolling: «allDirections» — включить прокрутку колесом (Варианты: vertical, horizontal, allDirections. !Но лучше ставить allDirections)manualContinuousScrolling: true — бесконечная прокруткаautoScrollingMode: «onStart» — автопрокруткаhotSpotScrolling: false — скрыть/показать боковые кнопки прокруткиtouchScrolling: true — включить прокрутку Touch Screen

Для корректной работы в плагине содержится набор изображений — стрелок. Если они не нужны их нужно вычистить из файла smoothDivScroll.css.

Некорректная работа при небольшом количестве изображений (меньше ширины экрана)

Во всех вышеперечисленных вариантах на изображения можно ставить ссылку на оригинал, используя совместно с fancybox. !Но не во всех случаях корректно открывается ссылка.

Рекомендации по горизонтальной навигации

  1. Избегайте горизонтальной прокрутки на полных веб-страницах.
  2. Включите другие методы взаимодействия.
  3. Создавайте горизонтальные полосы прокрутки как вертикальные полосы прокрутки.
  4. Сделайте вариант горизонтальной прокрутки визуально заметным.

Итак, вы думаете, что горизонтальная навигация имеет место на вашем сайте? Вот несколько рекомендаций, о которых следует помнить:

1 Избегайте горизонтальной прокрутки полных веб-страниц.

Горизонтальная прокрутка никогда не должна заменять вертикальную прокрутку на всей веб-странице. Нарушение этого правила оттолкнет большинство пользователей.

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

В этом примере пользователь выполняет прокрутку вниз. Поначалу появление СМИ справа неожиданно, но вы быстро улавливаете, что происходит.

2 Включите другие методы взаимодействия.

Даже если на вашей странице используется горизонтальная прокрутка, мы рекомендуем дать пользователям настольных компьютеров еще один способ раскрыть скрытый контент. Кнопка со стрелкой может иметь ту же функцию:

Мобильные пользователи будут испытывать меньше проблем с боковым смахиванием, поэтому кнопки на мобильных сайтах не нужны. Тем не менее, основная ориентация прокрутки должна оставаться вертикальной на устройствах с сенсорным экраном.

3 Создайте горизонтальные полосы прокрутки как вертикальные полосы прокрутки.

На рабочем столе горизонтальные полосы прокрутки должны быть доступны в своих контейнерах. Горизонтальные полосы прокрутки должны выглядеть и работать так же, как их вертикальные аналоги, для единообразия дизайна

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

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

4 Сделайте вариант горизонтальной прокрутки визуально заметным.

Обязательно минимизируйте вероятность того, что посетители пропустят ваш контент, сообщив о возможности горизонтальной прокрутки.

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

Или попробуйте показать фрагмент скрытого содержимого в прокручиваемом контейнере

Сайты электронной коммерции, такие как Patagonia, делают это для списков продуктов – обратите внимание на миниатюры продуктов, торчащие с обеих сторон контейнера для дисплея:. Наконец, также подойдет текст с инструкциями, например «Прокрутите, чтобы узнать больше»

Попробуйте все эти реализации при создании прототипов и тестировании

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

Какой плагин бесконечной прокрутки WordPress вы используете?

Что ж, бесконечная прокрутка не имеет себе равных, поскольку она обеспечивает большие преимущества, такие как лучшая экспозиция для контента, безупречный просмотр, идеальный для сенсорных интерфейсов и визуально восхитительный. Поскольку у вас есть отличный выбор в случае плагинов WordPress Infinite Scroll, где все работает хорошо. Но наибольшей популярностью пользуются Jetpack и Ajax load more. Итак, это просто зависит от вашего выбора правильного плагина WordPress Infinite Scroll. Плагины быстро внедряют бесконечную прокрутку на ваш сайт, чтобы улучшить взаимодействие с пользователем. Ознакомьтесь с нашими бесплатными темами WordPress.

Цель использования плагинов бесконечной прокрутки WordPress – получить фантастический веб-сайт. Всем понравится попробовать вещи, которые сделают его приятным для глаз с потрясающей реакцией зрителей. Так попробовать свои руки на похвальном сайт WordPress строитель программного обеспечения и веб – строитель программного обеспечения,  т.е. TemplateToaster. Он испытан и протестирован, чтобы предоставить вам отличный сервис со всеми передовыми инструментами для создания тем.

Источник записи: https://blog.templatetoaster.com

Слайдеры

Адаптивный JQuery / WordPress слайдер с множеством настроек, стилей и возможностей. 

Backstretch -слайдер, который позволяет поддерживать фоновые изображения для любой страницы или элемента.

Anystretch является плагином JQuery , который позволяет добавлять динамические фоновые изображения на любую страницу или блочный элемент. Изображение будет растягиваться, чтобы помещаться на странице и автоматически изменять размеры при изменении размера окна.

FlexSlider является адаптивным слайдером. 

Еще один простой плагин лайтбокс. Поддержка фото, группировка, слайд-шоу, AJAX, inline, и iframed контент. 

Буквально одним из лучших, самый мощный и полнофункциональный слайдеров. Адаптивный, имеет множество различных переходов.  

Получаем данные для постов

Для начала необходимо получить данные, которые в дальнейшем мы будем преобразовывать в посты

Сервис {JSON} Placeholder предоставляет нам фейковые данные, которые мы можем использовать для нашего примера с бесконечной прокруткой

Так как мы хотим сделать бесконечную прокрутку постов, будем брать данные по следующему адресу https://jsonplaceholder.typicode.com/posts, который будет нам отдавать список постов в JSON формате

На главной странице сервиса {JSON} Placeholder можно видеть пример использования, то есть получение данных через метод и вывод их в консоль браузера

Так как для примера мы будем использовать библиотеку Axios для запросов, то адаптируем код, приведенный выше, под нашу задачу

Если кратко, логика кода следующая — мы просим подключенную библиотеку Axios сделать запрос по указанному адресу, и когда придёт ответ (), вывести из этого ответа в консоль только массив с данными (), который содержится в этом ответе

Так будет выглядеть в консоли браузера полный ответ …

… а так как нам нужен только массив с данными, то выводим в консоль браузера только

В результате получаем массив из 100 записей, пока что выведенный в консоль браузера, но теперь у нас есть данные, с которыми мы можем работать

1Page

1Page

Основным достоинством темы является ее универсальность. 1Page –
один из немногих шаблонов, реально отвечающий требованиям большинства тематик.
Данный вариант подойдет для новостного сайта, персонального блога, кулинарного,
автомобильного ресурса, модных заметок, обзоров сетевых продуктов и прочего.
Все ограничено только полетом вашей фантазии. Недостатком является отсутствие
совместимости с WooCommerce.
Следовательно, площадки для продаж из 1Page не выйдет. К этому не приспособлены ни
его дизайн, ни структура. Но в разряде блогинга он по-настоящему хорош. 1Page отличает
следующий ряд особенностей.

  1. Настраиваемые рабочие панели. Два боковых
    варианта, нижний и верхний.
  2. 100% отклик за счет обновленного кода.
  3. 2 варианта главной.
  4. 6 оригинальных виджетов.
  5. 5-колончатая разбивка постов на главной.
  6. Бесконечный скроллинг.
  7. Неограниченное количество блоков в сайтбаре.
  8. Возможность настройки в режиме просмотра.
  9. Активный файл .XML.
  10. Большая палитра цветов для элементов и шрифтов.
  11. SEO-параметры.
  12. Минимальные настройки перед использованием.
  13. Широкий опцион шрифтов.
  14. Ряд вариаций логотипа.
  15. 7 плагинов в комплекте.

Внешне тема выглядит очень достойно. Лого, поиск и категории
размещены в привязанной к зоне обзора шапке. Есть второстепенное меню, где
можно выбрать группы категорий. В той же линии размещены уникальные иконки соц.
сетей. Разработчики позаботились о стандартных местах под рекламу. Они
замаскированы под обычные записи на главной странице, что повышает их
кликабельность. Бесконечная прокрутка реализована тут же, на домашней странице.
Время загрузки составляет 1-2 сек. В режиме просмотра постов скроллинг не
реализован. Оформление постов достойно особого внимания. Создатели использовали
различные макроэлементы. Запись начинается с изображения, далее идет крупный
заголовок, количество просмотров, ссылка автора. Эти сведения дублируются на
домашней странице посредством миниатюрных иконок. Контент можно оформить по
своему усмотрению. Здесь все не ограничено подчеркиванием, курсивом и ссылками.
Можно вставить, к примеру, кнопку, медиафайл, изображение с ориентацией и
другое. В конце статьи есть блок автора, где он может немного рассказать о
себе. Форма комментирования выполнена в 2 колонках: первая отображает превью
поста, а во второй видны отклики читателей. Цена года использования 1Page стартует
от 35$.

Infinite Scrolling + Pagination

There are cons against infinite scrolling: if it is not implemented well, the user experience can be broken. If you let the user load an infinite list, they can lose their place after a while. That’s a thing that never appends with a traditional pagination system. However, pagination requires actions from the user that aren’t necessary with infinite scrolling.

These two facts gave Tim Severien an idea: what if we combined infinite scrolling and pagination, to take the advantage of both methods? The result is this last demo.

An initial page is shown to the user. When the user scrolls down and reaches the bottom of the page, a new page is loaded automatically. Here we enjoy the simplicity from infinite scrolling. But the new things come from a list fixed at the bottom of the screen.

Initially hidden, this list is filled, each time a new page is loaded, with the number of this page. That way, if the user wants to retrieve the second page, they can without any effort by hitting the corresponding number.

See the Pen Infinite Scroll + Pagination by SitePoint (@SitePoint) on CodePen.

В категориях

Показывайте от 10 до 30 товаров при первичной загрузке, подгружайте ещё по 10–30 товаров, пока их не станет 50–100. После этого покажите кнопку «Загрузить ещё». При нажатии на неё покажите 10–30 товаров и так далее. «Ленивая» подгрузка снижает нагрузку на сервер и сокращает время отклика.

Конкретные числа зависят от контекста и отрасли. Меньше товаров стоит показывать в области потребительской электроники, где важны характеристики. Больше товаров — если это одежда, мебель и декор.

Если пользователь воспользовался фильтрами, он может и не увидеть кнопку «Загрузить ещё». Если список длинный, эта кнопка даст передышку, доступ к подвалу и повод подумать над применением фильтров. И он легко продолжит просмотр.

Проблема «Загрузить ещё» и «бесконечного скрола» — постоянное увеличение длины страницы. Если пользователь прокрутит страницу вниз, на мгновение, пока не загрузятся товары, он увидит подвал. В случае с «Загрузить ещё» эта реакция повторится лишь пару-тройку раз.

Решение: установить такую высоту страницы, чтобы она соответствовала тому количеству товаров, которые будут показаны до появления кнопки «Загрузить ещё». Даже если сами товары ещё не подгрузились, с помощью полосы прокрутки пользователь получит доступ к подвалу и прикинет длину списка.

Настройки плагина

Установите и активируйте Ajax Load More, как и любой другой плагин.

После того, как он активируется, вы увидите новый раздел меню на боковой панели. Перейдите к Ajax Load More → Repeater Template для создания своего шаблона.

Ваш шаблон показывает, как должны выглядеть сообщения, когда они будут в бесконечной прокрутке. Для его редактирования необходимы некоторые знание PHP. Но для большинства пользователей достаточно и стандартного шаблона:

Важно отметить то, что стандартный шаблон будет показывать только фрагменты постов, а не полные сообщения. Если вы хотите отобразить полные сообщения, вам нужно заменить the_excerpt() на the_content(). Если вы разбираетесь в PHP, вы можете затем изменить этот шаблон

В другом случае, вполне нормально оставить стандартный шаблон

Если вы разбираетесь в PHP, вы можете затем изменить этот шаблон. В другом случае, вполне нормально оставить стандартный шаблон.

Бесконечная и гибридная прокрутка, а также стоп-точки

Итак, работать над прокруткой следует только при учете намерений пользователей сайта. Что же делать, если на вашем ресурсе бесконечные страницы будут кстати? Как их лучше реализовать?

Обычная бесконечная прокрутка

До тех пор, пока есть контент, будет осуществляться его подгрузка на страницу. Данный вид реализации медленно уходит в прошлое — далеко не каждый будет загружать 50 или 100 страниц данных в своём браузере, большинство остановится на первом десятке.

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

Но что же будет хорошей альтернативой обычной бесконечной прокрутке?

Гибридная прокрутка

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

Сейчас гибридная прокрутка стоит на,ImageSearch,и некоторых других ресурсах. «ВКонтакте», впрочем, продолжает пользоваться классической бесконечной прокруткой (прим. переводчика).

Стоп-точки

Разбиение, используемое в илиImageSearch, позволяет не перегружать браузер сотнями страниц контента, пытаясь достичь какого-то отдаленного поста или изображения. Смиритесь — большинство пользователей не спустится так глубоко в историю, просматривая  по пути «для галочки» весь контент выше. Нет, они захотят найти какую-то отправную точку, с которой начинать «копать» разумнее, и стоп-точки помогут им в этом.

Стоп-точки снижают вес страницы, разбивая её на несколько независимых частей, и позволяют прочитать, наконец, содержимое «подвала» сайта.

«Загрузить еще» для категорий

Благодаря проведенному исследованию мы нашли оптимальное решение для загрузки новых товаров в категориях, заключающееся в объединении кнопки «Загрузить еще» с бесконечной прокруткой в виде отложенной загрузки. Покажите от 10 до 30 товаров при начальной загрузке страницы, а затем отложено подгружайте еще по 10-30 товаров, пока не достигнете от 50 до 100 товаров. После этого отобразите кнопку «Загрузить еще».

После нажатия этой кнопки покажите еще 10-30 товаров и возобновите отложенную загрузку до тех пор, пока не загрузятся следующие 50 — 100 товаров, после чего еще раз выведите кнопку «Загрузить еще». Порог кнопки «Загрузить еще» в 50 — 100 элементов определяет, когда следует прерывать пользователя. Порог отложенной загрузки — это оптимизация производительности для уменьшения времени загрузки и нагрузки на сервер.

Обратите внимание, что количество загружаемых товаров ограниченно определенным диапазоном. Тестирование показывает, что оптимальное количество элементов зависит от контекста и ниши сайта

Для списков со специализированными товарами используйте нижний предел.

Crutchfield использует кнопку «Загрузить еще» в сочетании с отложенной загрузкой. Первые 20 товаров загружаются по умолчанию. После того, как пользователи перейдут к 10-ому товару, Crutchfield подгружает еще 20. После 40-го элемента пользователю выводится кнопка «Загрузить еще».

Страницы загружаются быстро, потому что изначально отображается мало товаров. В категориях с небольшим и средним количеством товаров отложенная загрузка позволит пользователю просматривать весь ассортимент. В более длинном перечне будет использоваться кнопка «Загрузить еще». Это упростит просмотр большего количества товаров и предоставляет пользователю легкий доступ к футеру.

Одной из слабых сторон отложенной нагрузки и бесконечной прокрутки является то, что высота страницы постоянно увеличивается. Если пользователь передвигает полосу прокрутки вниз и достигает футера, то он видит его секунду или две пока не загрузятся новые товары. Новые элементы будут добавлены в список, а полоса прокрутки снова увеличится.

Changelog

v1.8.0

  • Added .
  • Added .
  • Fixed uses.

v1.7.1

  • Added to the callback arguments.
  • Fixed the demo.

v1.7.0

  • Endless Scroll now supports infinite up-scrolling!
  • Renamed option to .
  • Added option.
  • Added to the callback arguments.
  • Fixed the unreliable wrapper.

v1.6.0

  • Refactored the code using CoffeeScript.
  • Renamed option to .
  • Tweaked the demo page.

v1.5.1

  • Added argument to .
  • Added a example to the demo page.
  • Fixed .

v1.5.0

  • Added option.
  • Endless Scroll should now consume less memory in most situations.

v1.4.8

Refactored default options merge to avert side effects.

v1.4.7

Compatibility fix for IE7 and IE8.

v1.4.6

Fixed an issue with inner_wrap and the first scroll event.

v1.4.5

ceaseFire now works as expected during a scroll event.

v1.4.4

The AJAX loader should be removed when there’s no more results to load.

v1.4.3

The data option now accepts a fireSequence argument too.

v1.4.2

Fixed a bug where calling the script on $(document) would fail.

v1.4.1

Fixed a bug where the callback fires when the inner wrap hasn’t been created.

v1.4

Endless Scroll now works with any elements, not just $(document)!

v1.3

Fixed a bug caused by fireDelay.

v1.2

Added resetCounter option.

v1.1

Added fireDelay option.

v1.0

Initial release.

Intersection Observer API

Пару слов о том, что такое Intersection Observer API, и какую задачу решает

Раньше для того, чтобы определить, находится ли какой-либо элемент в видимой части браузера, мы делали определенные “тяжелые” для браузера расчёты

Теперь браузер предоставляет нам наиболее производительный и надежный способ определить это с помощью Intersection Observer API

Мы сначала настраиваем наблюдение, затем указываем, за какими элементами необходимо наблюдать

Далее, если элемент находится в видимой области браузера (по-умолчанию, даже если появилась хотя бы минимальная часть элемента), то делаем определенные действия

Технически мы узнаем, находится ли элемент в видимой области браузера с помощью свойства , которое возвращает , пока элемент находится вне видимой области, а если элемент хотя бы частично появился, то возвращает

Для наглядности выведем в консоль значение для лоадера

Не буду перегружать статью дополнительными возможностями и настройками Intersection Observer API, так как для нашего примера достаточно настроек по умолчанию

Подробнее можно почитать и в документации MDN Web Docs — Intersection Observer API

В нашем случае мы рассмотрим два варианта использования:

  • будем подгружать посты по мере прокрутки страницы
  • будем анимировать появление каждого поста, до которого была прокручена страница

Рассмотрим работу Intersection Observer API на нашем примере пока что абстрактно

Мы хотим подгружать по 10 постов, как только лоадер окажется в видимой части браузера

Далее, когда очередные 10 постов подгружены, мы хотим анимировать появление каждого поста, как только он появляется в видимой области браузера

UI

Этот плагин позволяет создавать круговые кнобы. 

Noty — JQuery плагин, который позволяет легко создавать уведомления (alert, success, error, warning, information)  или просто заменять стандартные алерты.

Этот плагин позволяет создавать скрытые вставные боковые панели, которые могут содержать любую нужную информацию. 

Легкое модульное решение для простой организации раскрывающихся панелей.

Позволяет создавать простой эффект анимированной страницы. 

Плавная прокрутка к нужному разделу на странице.

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

Этот плагин от ZURB, который позволяет управлять процессом взаимодействия посетителей с туром по вашему сайту

Проблема бесконечной прокрутки

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

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

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

Подгрузка записей при нажатии на кнопку — Показать еще

Шаг 1

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

//вместо этого
<div id="load_more_gs">
<div class="cssload-container"><div class="cssload-whirlpool"></div></div>
</div>

//вставить это
<div id="loadmore_gs">Показать еще</div>

Показать еще — это текст кнопки, если хотите, можно поменять.

Шаг 2

Теперь добавим новые стили для кнопки. Если вы добавляли стили для первого метода, можете их удалить.

#loadmore_gs{
	background:#63a63e;
	color:#fff;
	padding:5px 0;
	text-align:center;
	-moz-border-radius:4px; 
	-webkit-border-radius:4px;
	border-radius: 4px;
	width:150px;
	margin:0 auto;
	cursor:pointer;
}

Шаг 3

Точно такой же как и в прошлом методе, если уже делали его, пропускайте, если нет, то делайте аналогично первому методу.

Шаг 4

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

jQuery(function($){
	$('#loadmore_gs').click(function(){
		$(this).text('Загрузка...');
		var data = {
			'action': 'loadmore',
			'query': true_posts,
			'page' : current_page
		};
		$.ajax({
			url:ajaxurl,
			data:data,
			type:'POST',
			success:function(data){
				if( data ) { 
					$('#loadmore_gs').text('Показать еще').before(data);
					current_page++;
					if (current_page == max_pages) $("#loadmore_gs").remove();
				} else {
					$('#loadmore_gs').remove();
				}
			}
		});
	});
});

Тут можно настраивать текст кнопки или поменять имя айди, если Вы решили его сменить везде. В 3 строке есть слово — Загрузка…. Это выведется, когда Вы нажмете на кнопку и обработчик AJAX начнет свою работу.

В 15 строке текст — Показать еще, этот текст появится после подгрузки. Если Вы изменили текст из первого шага, то измените и здесь.

Шаг 5

Обработчик оставляем тот же без изменений, так что этот шаг тоже можно пропустить, ну или если Вы его не делали, то выполните его из прошлого метода.

По второму методу, тоже все. Как и с первым, если все шаги выполнены правильно, результат не заставит себя ждать.

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

На этом все, спасибо за внимание

Как насчет «никакой прокрутки»?

Раз мы затронули вопрос прокрутки, стоит подумать и о том, чтобы вообще от неё отказаться.

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

Когда-то Кристин работала с сайтом одного издателя, который решил сыграть на концовке ТВ-сериала «Во все тяжкие«. Владелец запросил внедрение бесконечной прокрутки и заказал десятки статей у профессиональных писателей на релевантную сериалу тематику. Его замысел был прост — длинная страница должна создать впечатление большого объема контента, ради которого пользователи будут листать и читать истории часами.

На практике же количество посетителей поднялось незначительно, а количество отказов резко возросло. Аналитики выяснили, в чем оказалась ошибка. Самая популярная статья, повествующая о финале и общем анализе сюжета сериала, которую были не прочь прочесть большинство посетителей, оказалась примерно на 8 странице прокрутки. А первый экран занимала последняя, по дате выпуска, история — о схожести финала ТВ-сериала «Секс в большом городе» с концовкой «Во все тяжкие».

Конечно, автор этой статьи тоже вложил в свое творение душу, однако фанаты Уолтера Уайта едва ли хотели видеть именно её на главной странице ресурса, посвященному развязке популярного сериала. Намерения пользователей не совпадали с контентом, размещенном на первой странице.

Pravda

ВП тема Правда, пример

Долгоиграющий коммерческий проект, доведенный до ума в
результате 5-летней разработки. Шаблон попал в наш Топ благодаря широкому
функционалу и необычному дизайну. Тема отличается наличием классических
элементов, которые были популярны 5-10 лет назад. Меню с выделенным фоном и
нижними, верхними линиями, многогранная цветовая гамма, большой шрифт – все это
отголоски того время. Однако в Pravda немало современных идей. В их числе полупрозрачный фон у
ряда элементов, гармоничная цветовая гамма, современная анимация. Продолжая
тему дизайна и структуру, отметим, что в Pravda отсутствуют бесполезные, лишние
элементы. Таким образом, страницы имеют небольшой вес и быстро подгружаются.
Прокрутка без конца реализована только на главной; для записей характерна
привычная линия «заголовок – контент – комментарии». 

Интересная внутренняя составляющая темы. Панель базируется
на технологии SMOF. Она
позволяет настраивать многие аспекты Pravda без вмешательства в код – отличная
новость для новичков. Шаблон будет интересен и разработчикам, там как часть
конструкций в нем являются открытыми. Их можно импортировать в сторонние
проекты. В комплекте со стандартным пакетом стоимостью 39-40$ идут:

  • 10 виджетом с отдельным набором опций;
  • 8 комплексов из них;
  • 5 вшитых форм постов – изображения, видео,
    аудио, галерея и стандартная;
  • 6 макетов домашней страницы.

Прежде чем написать итоговый код

До того, как мы напишем итоговый код, нам необходимо еще рассмотреть несколько моментов

Как получать по 10 постов

Сервис {JSON} Placeholder основан на JSON Server, который предоставляет возможность получать данные по частям —

В нашем случае, запрос может выглядеть следующим образом…

…но в итоговом коде, мы будем подставлять значения для и динамически

Как в строку динамически подставить значения

Чтобы динамически подставлять в строку значения, воспользуемся шаблонными строками

Вместо обычных одинарных или двойных кавычек используем обратные кавычки « и подставляем значения таким образом

Деструктуризация объекта

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

Как добавить массив в другой массив

Нам необходимо будет добавлять в уже имеющийся массив постов, очередной массив со следующими постами

Для этого мы воспользуемся Spread syntax —

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: