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

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

Всем привет! В этой статье мы рассмотрим, как сделать красивую и удобно сортируемую галерею на 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
}

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

Сегодня мы рассмотрим 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 — автозапуск галереи. Задается в милисекундах, т.е. через сколько будут сменяться изображения.
Вывод

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

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

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

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

"Карусель" для закольцованного воспроизведения картинок со слайд-эффектами и анимацией от Woothemes, сопровождающей проявку/растушёвку изображений, FlexSlider 2 отображает как фото, так и видео, причём, во всех основных браузерах.


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


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


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


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


Что вы скажете насчёт компактного адаптивного слайд-проектора, запускаемого через дополнительный модуль, который работает во всех основных браузерах, включая версии от IE6 до IE9? Воспроизводите ваши картинки в виде слайдов с помощью этого модуля, очень чувствительного к воздействию.


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


Помимо немного непривычной вариации эффектов перехода, этот проигрыватель слайдовых клипов отличается ещё и наличием опции автопуска (при наведении курсора на значок которой воспроизведение прерывается), а также поддержкой отображения субтитров и разбиения контента на страницы. Работоспособность HTML-элементов и проигрывание видео-файлов также поддерживаются.


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

10.
Умельцы из команды Webcodebuilder "скрестили" FlexSlider от Woothemes с Kwicks Джереми Мартина (Jeremy Martin) и получили "гибридный" адаптивный jQuery-модуль, наречённый ими FlexSlider feat. Kwiks. Модуль задействует "гармошку" Kwicks для картинок более высокого разрешения и FlexSlider - для более низкого.

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

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

Разметка HTML

В коде HTML мы будем использовать основной контейнер с классом “rg-gallery ”. Также он будет иметь одинаковый с классом идентификатор. В другом элементе div с классом “rg-thumbs” будет размещаться структура для карусели Elastislide:

Предыдущий Следующий

Миниатюры будут иметь два атрибута data , которые будут использоваться позже в нашем коде JavaScript. Атрибут “data-large” содержит путь к большому изображению, а атрибут “data-description” содержит подпись, которая будет выводиться под текущим большим изображением.

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

{{if itemsCount > 1}} Предыдущее изображение Следующее изображение {{/if}}

Мы добавляем условие, что навигация будет выводится только в случае наличия более одного изображения. Контейнер “rg-image ” будет использоваться для добавления большого изображения.

CSS

Кроме настройки нескольких параметров (например, поля и отступы для миниатюр в карусели Elastislide) нужно задать стили для остальных элементов галереи..

Элемент “rg-image-wrapper ”, который используется в шаблоне jQuery, будет иметь относительное позиционирование и полупрозрачное повторяющееся изображение в качестве фона. Рамка будет иметь скругленные углы и минимально допустимую высоту 20 px:

Rg-image-wrapper{ position:relative; padding:20px 30px; background:transparent url(../images/black.png) repeat top left; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; min-height:20px; }

Контейнер, который используется для добавления большого изображения будет иметь относительное позиционирование и высоту строки 0. Добавим для него выравнивание текста по центру мы заставим все строчные элементы выравниваться по центру. Но так как мы не используем для изображения “display:block ”, нужно установить высоту строки равной 0. Таким образом, не будет зазора над изображением, так как оно является строчным элементом по умолчанию:

Rg-image{ position:relative; text-align:center; line-height:0px; }

С помощью задания свойству большого изображения max-width значения 100%, мы добиваемся, чтобы оно всегда оставалось окруженным плавающим контейнером. Мы не нуждаемся в данном свойстве, но если вы хотите ограничить размер области предварительного просмотра, то вам придется устанавливать фиксированную высоту для класса “rg-image ” и изображение будет заполнять его при изменении ширины области просмотра.

Rg-image img{ max-height:100%; max-width:100%; }

Навигационные элементы будут иметь следующие стили:

Rg-image-nav a{ position:absolute; top:0px; left:0px; background:#000 url(../images/nav.png) no-repeat -20% 50%; width:28px; height:100%; text-indent:-9000px; cursor:pointer; opacity:0.3; outline:none; -moz-border-radius: 10px 0px 0px 10px; -webkit-border-radius: 10px 0px 0px 10px; border-radius: 10px 0px 0px 10px; }

Это стиль для левой стрелки, теперь посмотрим на свойства для правой стрелки:

Rg-image-nav a.rg-image-nav-next{ right:0px; left:auto; background-position:115% 50%; -moz-border-radius: 0px 10px 10px 0px; -webkit-border-radius: 0px 10px 10px 0px; border-radius: 0px 10px 10px 0px; }

Так как мы уже определили значение свойства left для элементов в целом, его придется установить в значение auto для правой стрелки.

При наведении курсора мыши стрелки будут становиться более четкими:

Rg-image-nav a:hover{ opacity:0.8; }

Подписи будут иметь следующие стили:

Rg-caption { text-align:center; margin-top:15px; position:relative; } .rg-caption p{ font-size:11px; letter-spacing:2px; font-family: "Trebuchet MS", "Myriad Pro", Arial, sans-serif; line-height:16px; padding:0 15px; text-transform:uppercase; }

Для переключателя установим следующие стили:

Rg-view{ height:30px; } .rg-view a{ display:block; float:right; width:16px; height:16px; margin-right:3px; background:#464646 url(../images/views.png) no-repeat top left; border:3px solid #464646; opacity:0.8; } .rg-view a:hover{ opacity:1.0; } .rg-view a.rg-view-full{ background-position:0px 0px; } .rg-view a.rg-view-selected{ background-color:#6f6f6f; border-color:#6f6f6f; } .rg-view a.rg-view-thumbs{ background-position:0px -16px; }

Индикатор загрузки будет появляться в центре изображения:

Rg-loading{ width:46px; height:46px; position:absolute; top:50%; left:50%; background:#000 url(../images/ajax-loader.gif) no-repeat center center; margin:-23px 0px 0px -23px; z-index:100; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; opacity:0.7; }

JavaScript

Основная идея галереи заключается в ее гибкости. Частично задача решена с с помощью стилей: большое изображение подгоняется под контейнер. Для получения адаптивной карусели миниатюр мы используем плагин Elastislide.

Определим некоторые переменные:

// Контейнер галереи var $rgGallery = $("#rg-gallery"), // Контейнер карусели $esCarousel = $rgGallery.find("div.es-carousel-wrapper"), // Пункт карусели $items = $esCarousel.find("ul > li"), // Общее количество пунктов itemsCount = $items.length;

Затем функцию галереи:

Gallery = (function() { //Функция галереи })(); Gallery.init();

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

// Индекс текущего пункта var current = 0, // Режим: карусель || во весь экран mode = "carousel", // Проверка, если одно изображение загружено anim = false, init = function() { // (Не обязательно) предварительная загрузка изображений здесьы... $items.add("").imagesLoaded(function() { // Добавляем опции _addViewModes(); // Добавляем обертку большого изображения _addImageWrapper(); // Выводим первое изображение _showImage($items.eq(current)); }); // Инициализуем карусель _initCarousel(); },

Вызываем плагин Elastislide:

InitCarousel = function() { // Используем плагин elastislide: $esCarousel.show().elastislide({ imageW: 65, onClick: function($item) { if(anim) return false; anim = true; // По нажатию клавиши мыши выводим изображение _showImage($item); // Меняем текущее current = $item.index(); } }); // Устанавливаем текущее для elastislide $esCarousel.elastislide("setCurrent", current); },

Следующая функция выводит переключатели режимов просмотра и управляет ими:

AddViewModes = function() { // Кнопки вверху справа: скрыть / показать карусель var $viewfull = $(""), $viewthumbs = $(""); $rgGallery.prepend($("").append($viewfull).append($viewthumbs)); $viewfull.bind("click.rgGallery", function(event) { $esCarousel.elastislide("destroy").hide(); $viewfull.addClass("rg-view-selected"); $viewthumbs.removeClass("rg-view-selected"); mode = "fullview"; return false; }); $viewthumbs.bind("click.rgGallery", function(event) { _initCarousel(); $viewthumbs.addClass("rg-view-selected"); $viewfull.removeClass("rg-view-selected"); mode = "carousel"; return false; }); },

Функция _addImageWrapper добавляет структуру для большого изображения и кнопки навигации, если общее количество изображений больше, чем одно. Также инициализируются события навигации. Используя плагин jQuery Touchwipe, мы добавляем поддержку навигации с помощью сенсорного экрана и клавиатуры:

AddImageWrapper= function() { // Добавляем структуру для больших изображений и кнопок навигации (если общее количество пунктов > 1) $("#img-wrapper-tmpl").tmpl({itemsCount: itemsCount}).appendTo($rgGallery); if(itemsCount > 1) { // Добавляем навигацию var $navPrev = $rgGallery.find("a.rg-image-nav-prev"), $navNext = $rgGallery.find("a.rg-image-nav-next"), $imgWrapper = $rgGallery.find("div.rg-image"); $navPrev.bind("click.rgGallery", function(event) { _navigate("left"); return false; }); $navNext.bind("click.rgGallery", function(event) { _navigate("right"); return false; }); // Добавляем событие touchwipe для обертки большого изображения $imgWrapper.touchwipe({ wipeLeft: function() { _navigate("right"); }, wipeRight: function() { _navigate("left"); }, preventDefaultEvents: false }); $(document).bind("keyup.rgGallery", function(event) { if (event.keyCode == 39) _navigate("right"); else if (event.keyCode == 37) _navigate("left"); }); } },

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

Navigate = function(dir) { // Навигация по большим изображениям if(anim) return false; anim = true; if(dir === "right") { if(current + 1 >= itemsCount) current = 0; else ++current; } else if(dir === "left") { if(current - 1 < 0) current = itemsCount - 1; else --current; } _showImage($items.eq(current)); },

В зависимости от направления движения мы устанавливаем текущий элемент.

Функция _showImage добавляет большое изображение и его название:

ShowImage = function($item) { // Выводим большое изображение, которое ассоциировано с $item var $loader = $rgGallery.find("div.rg-loading").show(); $items.removeClass("selected"); $item.addClass("selected"); var $thumb = $item.find("img"), largesrc = $thumb.data("large"), title = $thumb.data("description"); $("").load(function() { $rgGallery.find("div.rg-image").empty().append(""); if(title) $rgGallery.find("div.rg-caption").show().children("p").empty().text(title); $loader.hide(); if(mode === "carousel") { $esCarousel.elastislide("reload"); $esCarousel.elastislide("setCurrent", current); } anim = false; }).attr("src", largesrc); }; return { init: init };




Close