Новый jQuery плагин адаптивной галереи c автоматической группировкой

от автора

image

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

Плагин автоматически, используя атрибут data-*, группирует миниатюры изображений в некотое подобие пачки (стопки). Когда пользователь кликает на нее — изображения разлетаются в разные стороны в определенные положения. Они могут быть немного повернуты или смещены

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

Поддержка браузеров неплохая, только стоит учесть, что CSS преобразования работают только в браузерах, которые их поддерживают. Для остальных есть небольшая анимация.

Пример использования

Создаем ненумерованный список с классом tp-grid:

<ul id="tp-grid" class="tp-grid">       <li data-pile="Group 1">         <a href="#">             <span class="tp-info">                 <span>Some title</span>             </span>             <img src="images/1.jpg" />         </a>     </li>       <li data-pile="Group 2">         <!-- ... -->     </li>       <li data-pile="Group 1,Group 2">         <!-- ... -->     </li>       <!-- ... -->  </ul> 

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

После этого вызываем плагин:

$( '#tp-grid' ).stapel(); 

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

$.Stapel.defaults = {       // Расстояние между элементами     gutter : 40,       // Угол поворота для второго и третьего элемента     // (для большей реалистичности)     pileAngles : 2,       // Настройки анимации для стопки, по которой кликнули     pileAnimation : {          openSpeed : 400,         openEasing : 'ease-in-out',         closeSpeed : 400,         closeEasing : 'ease-in-out'     },       // Настройки анимации для остальных элементов     otherPileAnimation : {          openSpeed : 400,         openEasing : 'ease-in-out',         closeSpeed : 350,         closeEasing : 'ease-in-out'     },       // Задержка для каждого элемента в стопке     delay : 0,       // Делать ли рандомный поворот для элементов     randomAngle : false,       // callback-функции     onLoad : function() { return false; },     onBeforeOpen : function( pileName ) { return false; },     onAfterOpen : function( pileName, totalItems ) { return false; },     onBeforeClose : function( pileName ) { return false; },     onAfterClose : function( pileName, totalItems ) { return false; }   }; 

Вместе с плагином идут свои стили, но их можно переопределять. Подробности в примерах.

Ссылки

Проект на GitHub.
Примеры работы.

Статья подготовлена по материалам tympanus.net

ссылка на оригинал статьи http://habrahabr.ru/post/159733/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *