Галерея изображений с миниатюрами js. Fotorama - адаптивная jQuery галерея, установка и настройка

Вебдизайн с jQuery - это очень просто! AD Gallery - фотогалерея с миниатюрами.
Установка и настройка

Во многих случаях красивую фотогалерею на сайте можно сделать при помощи карусели с миниатюрами, которые открываются по клику в большом окне. Для создания такой галереи достаточно только средств HTML и CSS (см., например, статью Создание фотогалереи в Photoshop ), но значительно больше возможностей дает применение плагинов бесплатной библиотеки jQuery . Для примера, рассмотрим фотогалерею AD Gallery , разработанную шведским программистом Anders Ekdahl .

Эта фотогалерея позволяет выбрать несколько вариантов смены изображений, выводит шкалу с миниатюрами-превьюшками и текст под картинками, имеет режим слайд-шоу, а также множество других полезных функций. Плагин корректно работает в большинстве браузеров, включая IE 7, 8 и др. Один из вариантов фотогалереи AD Gallery показан ниже (пример, как всегда, рабочий):

Установка фотогалереи AD Gallery

Сначала создадим на сайте новую папку и назовём её ad-gallery . Затем скачиваем архив и распаковываем его в созданную папку. У нас получится в ней два js-скрипта, файл стилей CSS и несколько вспомогательных изображений.

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





$(function() {
var galleries = $(".ad-gallery").adGallery();
});

Важное замечание: если на вашем сайте используется несколько плагинов jQuery , то удобнее перенести файл jquery.js (желательно последней версии) в корневую папку, чтобы не загружать его несколько раз. В этом случае, строка обращения к нему будет выглядеть одинаково для всех плагинов. В частности, для нашего примера получается так:

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

Для размещения изображений (больших - big.jpg и миниатюр - small.jpg) используется неупорядоченный список, вложенный в несколько тегов . Для нашего примера с пятью картинками HTML-код выглядит следующим образом:















Насчет значений "дивов" можете не особенно волноваться и просто скопировать весь контейнер, размещая ваши изображения в теги . Количество изображений, помещенных в них, может быть любым. Обратите внимание на способ вывода надписей под увеличенными картинками: атрибут title задает общее название, а alt - развернутое описание. Для реализации ссылки-картинки используется атрибут longdesc (третье изображение).

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

Настройка параметров фотогалереи AD Gallery

Большинство настроек внешнего вида фотогалереи AD Gallery выполняется с помощью правил CSS в файле jquery.ad-gallery.css . Основные из них снабжены русскими комментариями и не имеют каких-либо особенностей, то есть сложностей.

Анимацию и другие параметры можно изменять в файле jquery.ad-gallery.js . Для этого откройте его в редакторе или в Блокноте и в самом начале увидите строчки с комментариями. Изменяя значения параметров и просматривая результат в браузере, можно настроить работу фотогалереи в соответствие с вашими задачами. Например, строчка
effect: "slide-hori", // эффекты слайд-шоу: "slide-vert", "fade", "resize", "none","slide-hori"
определяет один из пяти вариантов переходов при смене картинок.

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

Фотогалерею AD Gallery удобно использовать при небольшом количестве картинок. Если же ваша коллекция состоит из сотни-другой изображений, то ждать, когда все они прокрутятся, слишком утомительно, и не всякий пользователь "долетит до середины Днепра". К сожалению, в AD Gallery не предусмотрен ползунок для быстрого перемещения по миниатюрам. Поэтому для больших фотогалерей рекомендую использовать другой плагин jQuery - PP Gallery , о котором рассказано в следующей статье .

О других программах создания на сайте фотогалерей, каруселей изображений и слайд-шоу смотрите в и в разделе "

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

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

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

Для их установки достаточно добавить выбранные плагины в раздел head HTML страницы вместе с библиотекой jQuery и настроить их согласно документации (всего пара строчек кода).

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

1. Bootstrap Slider

Bootstrap Slider – бесплатный, оптимизированный под мобильные устройства слайдер изображений с прокруткой прикосновением и смахиванием. Он будет потрясающе смотреться на любом экране и в любом браузере. Вы можете загрузить в слайдеры изображения, видео, текст, миниатюры и кнопки.

2. Product Preview Slider

Product Preview Slider воплощает в себе весь потенциал jQuery, он отлично встраивается в любой интерфейс. Также вас порадует качество и чистота кода этого плагина.

3. Expandable Image Gallery

Expandable Image Gallery – потрясающий плагин, который одним кликом мышки превращается в полноэкранную галерею. Его можно использовать для раздела “О нас” или для просмотра информации о товарах.

4. Fotorama

Fotorama – плагин отзывчивой галереи jQuery, который работает как для десктоп, так и для мобильных браузеров. Он предлагает множество опций навигации: миниатюры, прокрутку, кнопки “вперед” и “назад”, автоматический показ слайд-шоу и маркеры.

5. Immersive Slider

Immersive Slider позволяет создавать уникальный опыт просмотра слайдов, похожий на слайдер Google TV. Вы можете изменить фоновое изображение, которое будет размыто для сохранения фокуса на основных фото.

6. Leastjs

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

7. Sliding Panels Template

Этот плагин идеально подойдет для портфолио. Он создаст блоки изображений, располагающихся горизонтально (вертикально на небольших экранах), к которым будет привязан выбранный контент.

8. Squeezebox Portfolio Template

Squeezebox Portfolio Template предлагает motion-эффекты для портфолио. При наведении курсора на основное изображение (или блок) появляются привязанные элементы.

9. Shuffle Images

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

10. Free jQuery Lightbox Plugin

Free jQuery Lightbox Plugin поможет вам показать одно или несколько изображений на одной странице. Также их можно будет увеличить и вернуть к исходному размеру.

11. PgwSlider – Responsive slider for jQuery

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

12. Scattered Polaroids Gallery

Scattered Polaroids Gallery – потрясающий слайдер, выполненный в плоском дизайне. Его элементы хаотично движутся при переключении изображений, что выглядит потрясающе.

13. Bouncy Content Filter

Bouncy Content Filter – идеальное решение для и портфолио. Этот плагин позволяет пользователям быстро переходить из одной категории в другую.

14. Simple jQuery Slider

Simple jQuery Slider оправдывает свое название. Этот плагин сочетает в себе элементы JavaScript, HTML5 и CSS3. В демо по умолчанию доступна только загрузка текста, но если внести несколько изменений, можно будет добавить и визуальный контент.

15. Glide JS

Glide JS – простой, быстрый и отзывчивый jQuery слайдер. Его легко настроить, к тому же плагин не займет много места.

16. Fullscreen drag-slider with parallax

Этот потрясающий jQuery слайдер с возможностью загрузки изображений и текста подойдет для любого сайта. Он порадует пользователей легким parallax эффектом и медленным появлением текста.

1. jQuery галерея с эффектом перелистывания страницы

Подобное решение можно использовать для вывода последних статей в блоге либо для презентации товаров.

Уникальный способ отобразить ваши фотографии в виде jQuery необычной галереи.

3. jQuery галерея изображений для товара, плагин «slideJS»

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

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

5. Элегантная Lightbox галерея «ppGallery» 6. Мини-галерея jQuery «Touch-Gallery» 7. Новая jQuery галерея с миниатюрами

Профессиональная jQuery галерея 2011 года.

8. jQuery плагин «Nivo Zoom»

Еще один качественный jQuery плагин от разработчиков Nivo слайдера. Увеличение изображение по нажатию на миниатюру.

9. jQuery галерея «3d Wall Gallery»

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

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

11. Необычное отображение изображений в jQuery галерее

С помощью ползунка сверху можно изменить расстояние между изображениями в стопке. При нажатии на изображение оно поворачивается.

12. Плагин jQuery галереи «MB.Gallery» 13. jQuery галерея, растягивающаяся на весь экран

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

14. Легкая jQuery галерея

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

16. Стильная галерея с использованием библиотек jQuery и Raphael

Интересный эффект при наведении курсора мыши на миниатюру.

17. Новая версия jQuery плагина «Supersized» версия 3.1

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

18. jQuery плагин «Galleria 1.2.2»

Новая jQuery галерея для ваших проектов.

Галерея выплывает на странице по нажатию на кнопку. Миниатюры отображаются вокруг увеличенного изображения. Можно управлять автоматической сменой изображений. Используемые технологии: jQuery, CSS, PHP.

20. Плагин «Timer Gallery»

jQuery галерея. Реализована автоматическая смена слайдов и прокрутка миниатюр, если их слишком много.

Плагин галереи изображений на jQuery.

22. javascript галерея для просмотра на мобильных устройствах «PhotoSwipe»

Галерея изображений, оптимизированная для просмотра на мобильных устройствах (телефонах или планшетах).

23. javascript галерея с 3D эффектом 24. Галерея «jQuery morphing gallery»

Новый jQuery слайдер. Несколько классных анимированных эффектов при смене слайдов.

25. jQuery плагин «Galleria 1.2.3» 26. jQuery галерея изображений «Image Wall»

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

27. CSS3 галерея

Интересный эффект при наведении.

28. Галерея с миниатюрами «TN3 Gallery»

jQyery галерея с миниатюрами. Реализована возможность просмотра в компактном окне и в окне на весь экран, а также возможность отключать/включать автоматическую смену слайдов.

29. Сетка изображений «Grid-Gallery»

Сетка изображений растягивается в зависимости от ширины окна браузера. Интересный эффект при наведении: подсвечивается активный ряд и колонка.

30. jQuery галерея «Swap Gallery»

Легкая галерейка jQuery в несколько строк кода.

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

31. Галерея изображений jQuery

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

Изображение и его миниатюры выполнены в виде кругов.

33. jQuery плагин портфолио фотографа «Portfolio Image Navigation»

Оригинальное javascript решение для оформления портфолио фотографа. Навигация между изображениями осуществляется с помощью стрелок Вверх/Влево/Вправо и при помощи мини-квадратов (имитация перемещения в 2D пространстве). Можно сгруппировать фотографии из разных фото сессий в разные вертикальные ряды и перемещаться по ним с помощью элементов навигации. Смотрите демонстрацию.

34. Плагин «jmFullZoom»

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

35. Фото-карта

Галерея интегрированная с Google картой. Можно развернуть на весь экран, нажав на иконку в правом нижнем углу. Отлично подойдет для туристических сайтов.

36. Галерея изображений с миниатюрами

jQuery галерея с миниатюрами.

37. jQuery галерея «Galleriffic»

Слайд-шоу с миниатюрами.

38. jQuery CSS3 плагин «Wave Display Effect»

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

Много вариантов отображения и настроек.

42. Plogger 43. Простенькая симпатичная галерея, сделанная на CSS, без использования скриптов

Красиво выглядит и отлично работает во всех современных браузерах

Можно управлять автоматическим показом слайдов (старт/стоп), переключение слайдов с помощью стрелок клавиатуры, автоматическое постраничное разбиение названий слайдов, если их много, поддерживается несколько галерей на одной странице, подписи к слайдам, поддержка API и возможность создавать свои эффекты перехода слайдов

46. Галерея в виде стопки фотографий

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

Здравствуйте, уважаемые читатели a! В этом уроке я покажу Вам, как создать минималистичную, но в тоже время удобную и функциональную фото галерею на jQuery , или галерею изображений, кому как удобно. В галерее есть возможность создавать категории, с последующей фильтрацией. Так же есть возможность запуска слайд-шоу. Галерея работает во всех браузерах, так что проблем с адаптацией не будет.

Для создания этой галереи будут использованы две бесплатные библиотеки : Quicksand и PrettyPhoto . Они значительно упрощают создание галереи. Как всегда результат работы Вы можете увидеть на демонстрационной странице, а также скачать архив с работающей галерей и все исходные файлы. Единственным минусом, если можно так сказать, является создание в ручную миниатюр для больших изображений. А во всем остальном эта галерея достойна внимания. Так же как и !

HTML разметка

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

1
2
3
4
5
6
7
8


Категории:
Все
Категория 1
Категория 2
Категория 3
Категория 4

1
2
3
4
5
6
7
8
9
10
11







  • Название картинки

    опубликовано: 2012


  • Как говорилось выше, элементы списка это изображения в галерее. Каждый элемент списка включает составные. Это непосредственно само изображение, точнее его миниатюра, а также описание. Миниатюра представляет собой ссылку на основное изображение. Атрибут rel необходим для вызова javascript и открытия основного изображения.

    Не забывайте также о 2 важных вещах, у элемента списка li атрибут data-id должен быть уникальным. Атрибут data-type содержит класс категории, список которых я описывал выше. О разметке вроде бы все.

    Стили CSS

    Особо заострять внимание на стилях не буду, так как используем мы уже готовую библиотеку PrettyPhoto , которая отвечает за увеличение изображения, и css кода достаточно много. Однако стоит заметить предусмотрено 5 вариантов оформления увеличенного изображения, хотя в идеале всего 3 , так как в двух вариантах лишь убирается закругление.

    Поэтому, покажу лишь CSS стили для миниатюр ну и списка категорий.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28

    Portfolio-categ { margin-bottom : 30px ; }
    .portfolio-categ li {
    display : inline ;
    margin-right : 10px ;
    }
    .image-block {
    display : block ;
    position : relative ;
    }
    .image-block img {
    border : 1px solid #d5d5d5 ;
    border-radius : 4px 4px 4px 4px ;
    background : #FFFFFF ;
    padding : 10px ;
    }
    .image-block img: hover {
    border : 1px solid #A9CF54 ;
    box-shadow : 0 0 5px #A9CF54 ;
    }
    .portfolio-area li {
    float : left ;
    margin : 0 12px 20px 0 ;
    overflow : hidden ;
    width : 245px ;
    padding : 5px ;
    }
    .home-portfolio-text { margin-top : 10px ; }
    li.active a { text-decoration : underline ; }

    В принципе, со стилями должно быть все понятно. Чтобы категории выстроились в ряд свойству display придается значение inline . Для того чтобы придать эффект обводки изображения, задается фоновый цвет (белый) и отступ в 10 пикселей. Размеры элементов списка задаются в .portfolio-area li .

    jQuery

    Ну и напоследок самое важное, то ради чего весь урок. Это jQuery код. Начнем с фильтрации картинок, по категориям.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23

    // Выбираем все дочерние элементы portfolio-area и записываем в переменную
    var $data = $(".portfolio-area" ) .clone () ;

    $(".portfolio-categ li" ) .click (function (e) {
    $(".filter li" ) .removeClass ("active" ) ;

    var filterClass= $(this ) .attr ("class" ) .split (" " ) .slice (- 1 ) [ 0 ] ;

    if (filterClass == "all" ) {
    var $filteredData = $data.find (".portfolio-item2" ) ;
    } else {
    var $filteredData = $data.find (".portfolio-item2" ) ;
    }
    $(".portfolio-area" ) .quicksand ($filteredData, {
    duration: 600 ,
    adjustHeight: "auto"
    } , function () {

    LightboxPhoto() ;
    } ) ;
    $(this ) .addClass ("active" ) ;
    return false ;
    } ) ;

    C помощью метода clone() и селектора, выбираем все дочерние элементы у .portfolio-area и записываем их в переменную $data . Далее отслеживаем клик по одной из категорий, элемент li у списка с классом .portfolio-categ . Делаем все категории не активными, посредством удаления removeClass(«active»), если этого не делать то со временем все категории будут активными и фильтрация остановиться.

    Так как мы кликаем по элементу списка, то в селекторе this содержится элемент списка то есть li , у него мы берем значение атрибута class и с помощью метода split разбиваем название класса на несколько частей, границей является пробел (т.е. если класс был «all active» то после разбиения мы получаем массив из «all» и «active»). А уже далее методом slice выбираем первый элемент массива (в нашем случае «all»), и записываем получившийся результат в переменную filterClass . Если пробела не было то название класса не измениться.

    Далее проверяем если в переменной filterClass строка all , то методом .find выбираем все элементы с классом portfolio-item2 из массива $data , который мы рассматривали выше. Выбранные элементы (а это все элементы списка, то есть все картинки) помещаем в переменную filteredData .

    В противном случае, если filterClass не равна all , то в переменную filterData поместим не все элементы списка, а лишь те у которых атрибут data-type совпадает с классом категории. Короче говоря элементы только одной категории.

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

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

    1
    2
    3
    4
    5
    6
    7

    jQuery("a" ) .prettyPhoto ({
    animationSpeed: "fast" ,
    slideshow: 5000 ,
    theme: "facebook" ,
    show_title: false ,
    overlay_gallery: false
    } ) ;

    Отслеживается клик по ссылке, у которой атрибут rel начинается с prettyPhoto . После чего в дело вступает библиотека prettyPhoto , и изображение чудесным образом увеличивается. Кстати, мы также передаем несколько параметров. Такие как скорость анимации — быстрая, задержка у слайд шоу — 5 секунд, тема оформления Facebook (всего 5 тем они находятся в папке images/prettyPhoto), а также запрещаем показ названия картинки и увеличение картинки при наведении мыши. Полную документацию по prettyPhoto можно найти

    Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на

    В этом уроке я покажу Вам, как создать минималистичную, но в тоже время удобную и функциональную фото галерею на jQuery , или галерею изображений, кому как удобно. В галерее есть возможность создавать категории, с последующей фильтрацией. Так же есть возможность запуска слайд-шоу. Галерея работает во всех браузерах, так что проблем с адаптацией не будет.

    Для создания этой галереи будут использованы две бесплатные библиотеки JQuery: Quicksand и PrettyPhoto . Они значительно упрощают создание галереи. Как всегда результат работы Вы можете увидеть на демонстрационной странице, а также скачать архив с работающей галерей и все исходные файлы. Единственным минусом, если можно так сказать, является создание в ручную миниатюр для больших изображений. А во всем остальном эта галерея достойна внимания.

    ИСХОДНИКИ

    HTML разметка

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


    • Категории:

    • Все

    • Категория 1

    • Категория 2

    • Категория 3

    • Категория 4







  • Название картинки


  • Как говорилось выше, элементы списка это изображения в галерее. Каждый элемент списка включает составные. Это непосредственно само изображение, точнее его миниатюра, а также описание. Миниатюра представляет собой ссылку на основное изображение. Атрибут rel необходим для вызова javascript и открытия основного изображения.

    Не забывайте также о 2 важных вещах, у элемента списка li атрибут data-id должен быть уникальным. Атрибут data-type содержит класс категории, список которых я описывал выше. О разметке вроде бы все.

    Стили CSS

    Особо заострять внимание на стилях не буду, так как используем мы уже готовую библиотеку PrettyPhoto , которая отвечает за увеличение изображения, и css кода достаточно много. Однако стоит заметить предусмотрено 5 вариантов оформления увеличенного изображения, хотя в идеале всего 3 , так как в двух вариантах лишь убирается закругление.

    Поэтому, покажу лишь CSS стили для миниатюр ну и списка категорий.

    Portfolio-categ { margin-bottom:30px; }
    .portfolio-categ li {
    display:inline;
    margin-right:10px;
    }
    .image-block {
    display:block;
    position: relative;
    }
    .image-block img {
    border: 1px solid #d5d5d5;
    border-radius: 4px 4px 4px 4px;
    background:#FFFFFF;
    padding:10px;
    }
    .image-block img:hover {
    border: 1px solid #A9CF54;
    box-shadow:0 0 5px #A9CF54;
    }
    .portfolio-area li {
    float: left;
    margin: 0 12px 20px 0;
    overflow: hidden;
    width: 245px;
    padding:5px;
    }
    .home-portfolio-text { margin-top:10px; }
    li.active a { text-decoration:underline; }

    В принципе, со стилями должно быть все понятно. Чтобы категории выстроились в ряд свойству display придается значение inline . Для того чтобы придать эффект обводки изображения, задается фоновый цвет (белый) и отступ в 10 пикселей. Размеры элементов списка задаются в .portfolio-area li .

    jQuery

    Ну и напоследок самое важное, то ради чего весь урок. Это jQuery код. Начнем с фильтрации картинок, по категориям.

    // Выбираем все дочерние элементы portfolio-area и записываем в переменную
    var $data = $(".portfolio-area").clone();

    $(".portfolio-categ li").click(function(e) {
    $(".filter li").removeClass("active");

    Var filterClass=$(this).attr("class").split(" ").slice(-1);

    If (filterClass == "all") {
    var $filteredData = $data.find(".portfolio-item2");
    } else {
    var $filteredData = $data.find(".portfolio-item2");
    }
    $(".portfolio-area").quicksand($filteredData, {
    duration: 600,
    adjustHeight: "auto"
    }, function () {

    LightboxPhoto();
    });
    $(this).addClass("active");
    return false;
    });

    C помощью метода clone() и селектора, выбираем все дочерние элементы у .portfolio-area и записываем их в переменную $data . Далее отслеживаем клик по одной из категорий, элемент li у списка с классом .portfolio-categ . Делаем все категории не активными, посредством удаления removeClass(«active»), если этого не делать то со временем все категории будут активными и фильтрация остановиться.

    Так как мы кликаем по элементу списка, то в селекторе this содержится элемент списка то есть li , у него мы берем значение атрибута class и с помощью метода split разбиваем название класса на несколько частей, границей является пробел (т.е. если класс был «all active» то после разбиения мы получаем массив из «all» и «active»). А уже далее методом slice выбираем первый элемент массива (в нашем случае «all»), и записываем получившийся результат в переменную filterClass . Если пробела не было то название класса не измениться.

    Далее проверяем если в переменной filterClass строка all , то методом .find выбираем все элементы с классом portfolio-item2 из массива $data , который мы рассматривали выше. Выбранные элементы (а это все элементы списка, то есть все картинки) помещаем в переменную filteredData .

    В противном случае, если filterClass не равна all , то в переменную filterData поместим не все элементы списка, а лишь те у которых атрибут data-type совпадает с классом категории. Короче говоря элементы только одной категории.

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

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

    JQuery("a").prettyPhoto({
    animationSpeed: "fast",
    slideshow: 5000,
    theme: "facebook",
    show_title: false,
    overlay_gallery: false
    });

    Отслеживается клик по ссылке, у которой атрибут rel начинается с prettyPhoto . После чего в дело вступает библиотека prettyPhoto , и изображение чудесным образом увеличивается. Кстати, мы также передаем несколько параметров. Такие как скорость анимации — быстрая, задержка у слайд шоу — 5 секунд, тема оформления Facebook (всего 5 тем они находятся в папке images/prettyPhoto), а также запрещаем показ названия картинки и увеличение картинки при наведении мыши.