Галерея на jquery для портфолио. Постоянно обновляющаяся база плагинов jQuery для фото, видео и медиа галерей Инструменты для создания красивых изображений с помощью CSS фильтров. Mootools плагин «CwComplete»

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

Пример можно увидеть здесь:

Скачать

Мы рассмотрим более подробно как создать меню из Демо 2 , когда меню появляется слева вверху.

HTML часть

Сперва необходимо подключить библиотеку jQuery, которую можно скачать и плагин Flipping Gallery , между тегами :

1 2 3 4 5 6 ... ...

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

1 2 3 4 5 6 7 8 ...

А чтобы добавить описание для изображений(как в демо 4 и 5) необходимо использовать атрибут data-caption :

1 2 3 4 5 6 7 8 ...
JS часть
1 2 3 4 5 6 7 8 9 $(".gallery" ) .flipping_gallery ({ direction: "forward" , selector: "> a" , spacing: 10 , showMaximum: 15 , enableScroll: true , flipDirection: "bottom" , autoplay: 500 } ) ;

Рассмотрим что означает каждый метод:

  • direction — метод отвечающий за то, как будут появляться изображения. Если «forward», то изображение из начала будет помещаться в конец, если «backward» — наоборот. По умолчанию значение задается «forward».
  • selector — селектор по которому выбираем изображения, его можно изменить по желанию.
  • spacing — задает отступ между изображениями в перспективе.
  • showMaximum — задает количество изображений, которые видны пользователю. Можно использовать хоть 100 изображений, но показываться будут только первые 15, что очень удобно и не нагружает браузер.
  • enableScroll — можно просматривать изображения используя колесо мыши.
  • flipDirection — определяет куда будет скользить изображение: «left» — влево, «right» — вправо, «top» — вверх и «bottom» — вниз. По умолчанию оно скользит вниз.
  • autoplay — автозапуск галереи. Задается в милисекундах, т.е. через сколько будут сменяться изображения.
Вывод

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

В этом уроке я покажу Вам, как создать минималистичную, но в тоже время удобную и функциональную фото галерею на 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), а также запрещаем показ названия картинки и увеличение картинки при наведении мыши.

    Долго выбирал тему для сегодняшнего топика. В итоге заметил, что мы еще не делали подборок с галереями изображений . По моему отличная тема, так как галереи присутствуют у множества сайтов. Откровенно говоря, все они не очень привлекательны. Учитывая нынешние тенденции развития jquery, html5 и т. д. я подумал, ведь должны быть уже намного привлекательней решения чем те, которые встречались мне раньше. Итак. Потратив день, удалось найти огромнейшее количество скриптов. Из всей этой горы я решил отобрать только , ведь я люблю , как вы уже заметили по предыдущим постам.
    Галерея изображений применима не только в случае с фотоальбомами . Скрипт можно использовать, думаю, что это даже правильней будет, в качестве портфолио для фотографов, дизайнеров и т. д. Jquery эффекты помогут привлечь внимание посетителей и просто придадут изящности вашему сайту.
    Итак. К вашему вниманию коллекция jquery плагинов галерей изображений для сайта .
    Не забываем комментировать и помните, чтоб не потерять эту подборку, вы можете добавить ее в избранное, нажав на звездочку внизу статьи.

    PHOTOBOXБесплатная, легкая, адаптивная галерея изображений , в которой все эффекты, переходы сделаны средствами css3. Идеальна для создания сайта-потрфолио фотографа.

    S GalleryПривлекательный Jquery плагин галереи изображений . Анимация работает с помощью css3.

    DIAMONDS.JSОригинальный плагин для создания галереи изображений . Миниатюры имеют форму ромба , что в данный момент очень популярно. Такая форма сделана с помощью css3. Единственный минус этой галереи - это отсутствие лайтбокса, в котором бы открывалось фото в полный размер. То есть потребуется раками прикрутить плагин лайтбокса. Данный скрипт формирует адаптивную сетку изображений в форме ромба.

    SuperboxСовременная галерея изображений с использованием Jquery, css3 и html5 . Мы все привыкли, что при клике на превью полное изображение открывается в лайтбоксе (всплывающем окне). Разработчики данного плагина решили, что лайтбокс уже отжил свое. Изображения в этой галереи открываются ниже превью. Посмотрите демо и убедитесь, что такое решение выглядит на много современней.
    | Smooth Diagonal Fade GalleryСовременная галерея изображений в которой превью распределяются по всему пространству экрана . Скрипт умеет сканировать папку с фото на сервере, то есть не нужно вставлять каждое изображение по отдельности. Достаточно загрузить картинки в папку на сервере и в настройках указать путь к директории. Далее скрипт все сделает сам.

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

    THUMBNAIL GRID WITH EXPANDING PREVIEWПлагин представляет собой адаптивную сетку изображений . При клике ниже выводится фото побольше и описание. Хорошо подойдет для создание портфолио.

    jGalleryjGallery - это полноэкранная, адаптивная галерея изображений . Легко настраиваются эффекты, переходы и даже стиль.

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

    Mosaic FlowПростая, адаптивная галерея изображений с сеткой в стиле Pinterest .

    GalereyaЕще одна стильная галерея с сеткой в стиле Pinterest с фильтром по категориям. Работает в браузерах: Chrome, Safari, Firefox, Opera, IE7+, Android browser, Chrome mobile, Firefox mobile.

    least.jsОтличная бесплатная галерея изображений с использованием JQUERY, 5 и CSS3. Она имеет очень привлекательный внешний вид и, несомненно, привлечет внимание ваших посетителей.

    flipLightBoxПростенькая галерея изображений. При клике на превью, в лайтбоксе открывается полное изображение.

    blueimp GalleryГибкая галерея. Способна выводить в модальном окне не только изображения, но и видео . Отлично работает на сенсорных устройствах. Легко кастомизируется и есть возможность расширения функционала с помощью дополнительных плагинов (См. следующий плагин).

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

    Основные плюсы (+)

  • Простота установки, настройки и использования. Кроме jQuery, вам понадобится подключить всего 2 файла , а для вывода галереи там нужно указать только ссылки на картинки.
  • Незначительно влияет на скорость загрузки сайта.
  • Адаптивность . Ваша галерея выглядит хорошо и на телефоне, и на ноутбуке, и даже на экране телевизора.
  • Обилие настроек и функций, подключаемых отдельно, через атрибуты HTML тегов.
  • Поддержка сенсорных устройств.
  • Поддержка видео .
  • Возможность ленивой загрузки картинок.
  • И много-много всего другого, что придётся по душе искушённому пользователю.
  • Минусы (-)

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

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

  • Проверяем наличие jQuery. Зайдите в исходный код сайта (сочетание клавиш Ctrl + U) → пытаемся найти примерно такую строчку: https://ajax.googleapis.com/ajax/libs/jquery/X.X.X/jquery.min.js

    Для облегчения поиска используйте Ctrl + F . Если заветной строки нет, то вам придётся подключить jQuery. На WordPress это можно сделать вставив код, расположенный ниже, в файл функций темы (functions.php). На самом деле этот скрипт используется при конфликтах разных версий jQuery и действует он по такой схеме: удаляет зарегистрированный ранее jQuery, регистрирует новый, выводит скрипт. Актуальные версии библиотеки jQuery можно найти тут .

    Можно просто вставить такую строку между и :

  • Подключаем fotorama.css и fotorama.js. Вставьте следующий код между тегами и , на WordPress это делается в файле заголовка темы (header.php).
  • На этом подключение галереи первым способом окончено. Как использовать написано в разделе "Непосредственно создание галереи".
  • Второй вариант подключения [шорткод + Autoptimize]

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

  • Проверяем наличие jQuery. Так же как и в первом варианте, смотрите выше.
  • Скачиваем файлы фоторамы → распаковываем → загружаем в отдельную папку в корне сайта.
  • Для создания шорткода в файл функций темы (functions.php) вставляем код, расположенный ниже, изменяем ссылки к файлам на свои..js"> "; } add_shortcode("foto","sd");
  • Теперь при написании статьи в конце вводите шорткод
  • Непосредственно создание галереи

    Галерея выводится HTML кодом с помощью контейнера c class="fotorama" , в контейнере размещаются код вывода изображения либо ссылка на изображение . При написании статьи на движке WordPress переключите редактор в текстовый режим и введите контейнер c class="fotorama" .

    Выглядит это так:

    Или так (нумерация ссылок необязательна):

    1 3 4

    Примеры настроек FotoramaРазмеры контейнера

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

    Существуют и другие настройки:

    Data-width="98%" //относительная ширина data-ratio="800/600" //соотношение сторон data-minwidth="420" // мин. ширину data-maxwidth="900" // макс. ширину data-minheight="320" // мин. высота data-maxheight="100% // относительная макс. высота data-height="100% // относительная высота

    Миниатюры

    За миниатюры отвечает data-nav="thumbs"

    Но такой способ не очень эффективен, так как скрипту приходится загружать сразу все фотографии для генерации миниатюр, поэтому будет рациональнее заранее подготовить маленькие копии картинок. WordPress автоматически делает миниатюры, мы их и будем использовать. Чтобы получить ссылку на миниатюру добавьте -70x70 к названию файла (https://сайт/wp-content/uploads/2017/11/27ltl9eRXk.jpg → https://сайт/wp-content/uploads/2017/11/27ltl9eRXk-70x70.jpg).

    По умолчанию миниатюра - 64 × 64. Откорректировать этот параметр можно с помощью data-thumbwidth (ширина) и data-thumbheight (высота). Если вам нужно чтобы миниатюра имела свой собственный размер, то задайте параметры width и height для файла миниатюры:

    HTML-код + Fotorama

    Фоторама отлично обрабатывает HTML и CSS, что значительно расширяет функционал скрипта. Работайте со ссылками, блоками, таблицами, абзацами, пишите CSS и многое другое. Ниже представлены некоторые примеры работы галереи. Если визуальная часть не отображается, то нажмите кнопку "Result".

    Показать / Скрыть примеры

    See the Pen ooppwb by Ivanov Klim (@DreamerKlim) on CodePen.

    See the Pen aVEEVb by Ivanov Klim (@DreamerKlim) on CodePen.

    Полноэкранный режим data-allowfullscreen="true" //в окне браузера data-allowfullscreen="native" //на весь монитор

    Существует возможность добавить отдельное большое изображение для полноэкранного режима через data-full:

    Другое data-autoplay ="true" //автозапуск data-autoplay="3000" //интервал между слайдами в мс data-caption ="One" //комментарии к картинкам data-keyboard ="true" //навигация стрелками data-shuffle ="true" //изображения в разнобой data-navposition ="top" //миниатюры вверху data-loop ="true" //циклическая прокрутка Попробуем все соединить и добавить видео "какой-то коммент 1" > "какой-то коммент 2" > To find work you love

    Всем привет! В этой статье мы рассмотрим, как сделать красивую и удобно сортируемую галерею на JQuery .

    Красивая, удобно сортируемая галерея – это прекрасная вещь для вашего сайта, которая будет радовать вас и ваших посетителей. Сегодня мы рассмотрим очень простой в установке и настройке плагин для библиотеки JQuery – Filterizr .

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

    Демонстрация

    Чтобы посмотреть, как работает плагин, зайдите на официальный сайт , и вот он уже перед вами!

    Вы можете выбрать сортировку по городам, природе, промышленности, рассвету, закату или показать все фотографии(значение по умолчанию). Присутствует кнопка Shuffle , которая позволит вам перемешать изображения. Кнопки ASC и DESC сортируют картинки по возрастанию и убыванию соответственно. Если вы хотите найти какое-то изображение по позиции или описанию, выберите нужный пункт в выпадающем списке и введите запрос в поле поиска. При наведении на изображение мышки картинка превращается из черно-белой в цветную.

    Установка

    Чтобы скачать библиотеку, нажмите кнопку Download или используйте NPM :

    Npm install filterizr

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

    1) Передать объект с параметрами в конструктор JQuery

    Var filterizd = $(".filtr-container").filterizr({
    // параметры
    })

    2) Переписать параметры, используя setOptions() метод в объекте Filterizr .

    Filterizd.filterizr("setOptions", {
    // параметры
    })

    Параметры

    Параметры по умолчанию:

    Options = {
    animationDuration: 0.5,
    callbacks: {
    onFilteringStart: function() { },
    onFilteringEnd: function() { }
    },
    delay: 0,
    delayMode: "progressive",
    easing: "ease-out",
    filter: "all",
    filterOutCss: {
    opacity: 0,
    transform: "scale(0.5)"
    },
    filterInCss: {
    opacity: 0,
    transform: "scale(1)"
    },
    layout: "sameSize",
    selector: ".filtr-container",
    setupControls: true
    }

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