Карусель изображений Feature Carousel
Feature carousel
Плагин Feature Carousel позволяет организовывать виджет типа карусель, который отлично подойдходит для презентаций ключевых материалов на сайте. Плагин стабилен, является кроссбраузерным и гибко настраиваем. Однако, подготовку для его установки и настройку его внешнего вида нельзя назвать легкой и интуитивно понятной. Кое что нужно настраивать на стороне html, кое что в css, а остальное в настройках самого плагина. Однако описание всего этого можно найти в данном руководстве (см. вкладку "Оформление").
Замечание 1: плагин рассчитан на работу с изображениями одного размера.
Замечание 2: плагин позволяет отображать только одну карусель на одной странице.
Подключение и использование
Чтобы плагин стал доступен на странице необходимо подключить файл с библиотекой jQuery и два файла плагина: js и css (их можно скачать на github.com):
<link rel="stylesheet" href="feature-carousel.css" charset="utf-8" /> <script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script> <script type="text/javascript" src="jquery.featureCarousel.min.js"></script>
Плагин необходимо применить к div-элементу с идентификатором carousel, со следующим содержимым:
<div id="carousel"> <div class="carousel-feature"> <a href="#"><img class="carousel-image" alt="Image Caption" src="sample1.jpg"></a> <div class="carousel-caption"> <p> Подпись к первому слайду. </p> </div> </div> <div class="carousel-feature"> <a href="#"><img class="carousel-image" alt="Image Caption" src="sample2.jpg"></a> <div class="carousel-caption"> <p> Подпись ко второму слайду. </p> </div> </div> ... <!-- Следующие слайды --> </div> <!-- Далее идут элементы, которые станут стрелками для перелистывания --> <div id="carousel-left"><img src="images/arrow-left.png" /></div> <div id="carousel-right"><img src="images/arrow-right.png" /></div>
Превратить этот шаблон в карусель можно будет так:
$('#carousel').featureCarousel({ // если это нобходимо, можно задать настройки // в формате имя1:значение1, имя2:значение2 });
Описанный выше html-шаблон обязателен для правильной работы карусели, вплоть до имен классов и идентификаторов:
- Идентификатор carousel для основного элемента с содержимым слайдов (картинками и комментариями)
- Класс carousel-feature для элемента обертывающего каждый слайд в отдельности
- Класс carousel-image для элемента img с изображением текущего слайда
- Класс carousel-caption для элемента с текстом текущего слайда
- div-элементы с идентификаторами carousel-right и carousel-left и изображениями стрелочек внутри. Если стрелки не нужны, эти элементы следует опустить.
Информация
- Размер плагина ~11k (js+css)
- Официальная страница: [1]
- Кроссбраузерный (работает во всех современных браузерах)
Аналогичное свойство высоты изображения в главном слайде: largeFeatureHeight. Аналогичные свойства для вспомогательных слайдов (по краям от основного): smallFeatureWidth и smallFeatureHeight.
// ------- Работа со свойством largeFeatureWidth--------- // в момент установки плагина на элемент $('#carousel').featureCarousel({ largeFeatureWidth:0.5 });
Аналогичное свойство ширины изображения в главном слайде: largeFeatureWidth. Аналогичные свойства для вспомогательных слайдов (по краям от основного): smallFeatureWidth и smallFeatureHeight.
// ------- Работа со свойством largeFeatureHeight --------- // в момент установки плагина на элемент $('#carousel').featureCarousel({ largeFeatureHeight:0.5 });
Аналогичное свойство высоты изображения во вспомогательных слайдах: smallFeatureHeight. Аналогичные свойства для главного слайда: largeFeatureWidth и largeFeatureHeight.
// ------- Работа со свойством smallFeatureWidth--------- // в момент установки плагина на элемент $('#carousel').featureCarousel({ smallFeatureWidth:0.25 });
Аналогичное свойство ширины изображения во вспомогательных слайдах: smallFeatureWidth. Аналогичные свойства для главного слайда: largeFeatureWidth и largeFeatureHeight.
// ------- Работа со свойством smallFeatureHeight --------- // в момент установки плагина на элемент $('#carousel').featureCarousel({ smallFeatureHeight:0.25 });
Управляющие элементы карусели (стрелочки и список слайдов) обладают абсолютным позиционированием и поэтому не сдвигаются вместе с изображениями.
Как видно из иллюстрации, кроме topPadding, есть еще два свойства, отвечающих за расположение элементов карусели: sidePadding и smallFeatureOffset.
// ------- Работа со свойством topPadding --------- // в момент установки плагина на элемент $('#carousel').featureCarousel({ topPadding:35 });
Как видно из иллюстрации, кроме sidePadding, есть еще два свойства, отвечающих за расположение элементов карусели: topPadding и smallFeatureOffset.
// ------- Работа со свойством sidePadding --------- // в момент установки плагина на элемент $('#carousel').featureCarousel({ sidePadding:60 });
Как видно из иллюстрации, кроме smallFeatureOffset, есть еще два свойства, отвечающих за расположение элементов карусели: topPadding и sidePadding.
// ------- Работа со свойством smallFeatureOffset --------- // в момент установки плагина на элемент $('#carousel').featureCarousel({ smallFeatureOffset:60 });
// ------- Работа со свойством startingFeature --------- // в момент установки плагина на элемент $("textarea").autoResize({ startingFeature: 3 });
// ------- Работа со свойством startingFeature --------- // в момент установки плагина на элемент $("textarea").autoResize({ carouselSpeed: 700 });
// ------- Работа со свойством autoPlay --------- // в момент установки плагина на элемент $("textarea").autoResize({ autoPlay: 0 });
Свойство имеет смысл только если включено свойство autoPlay, отвечающее за автоматическое переключение между слайдами.
// ------- Работа со свойством pauseOnHover --------- // в момент установки плагина на элемент $("textarea").autoResize({ pauseOnHover: false });
Свойство имеет смысл только если включено свойство autoPlay, отвечающее за автоматическое переключение между слайдами.
// ------- Работа со свойством stopOnHover --------- // в момент установки плагина на элемент $("textarea").autoResize({ stopOnHover: true });
// ------- Работа со свойством stopOnHover --------- // в момент установки плагина на элемент $("textarea").autoResize({ stopOnHover: false });
// ------- Работа со свойством stopOnHover --------- // в момент установки плагина на элемент $("textarea").autoResize({ trackerSummation: false });
// ------- Работа со свойством preload --------- // в момент установки плагина на элемент $("textarea").autoResize({ preload: false });
// ------- Работа со свойством displayCutoff --------- // в момент установки плагина на элемент $("textarea").autoResize({ displayCutoff: 7 });
// ------- Работа со свойством swing --------- // в момент установки плагина на элемент $("textarea").autoResize({ swing: 'linear' });
// ------- Работа со свойством leftButtonTag --------- // в момент установки плагина на элемент $("textarea").autoResize({ leftButtonTag: '#leftArrow' });
// ------- Работа со свойством rightButtonTag --------- // в момент установки плагина на элемент $("textarea").autoResize({ rightButtonTag: '#leftArrow' });
// ------- Работа со свойством captionBelow --------- // в момент установки плагина на элемент $("textarea").autoResize({ captionBelow: true });
// ------- Работа со свойством movedToCenter --------- // в момент установки плагина на элемент $("textarea").autoResize({ movedToCenter: function($el){ alert("Основной слайд изменен!"); }});
// ------- Работа со свойством leavingCenter --------- // в момент установки плагина на элемент $("textarea").autoResize({ leavingCenter: function($el){ alert("Основной слайд изменен!"); }});
// ------- Работа со свойством clickedCenter --------- // в момент установки плагина на элемент $("textarea").autoResize({ leavingCenter: function($el){ alert("На слайде была нажата кнопка мыши!"); }});
Как уже было сказано в описании, рычаги для настройки оформления плагина (к сожалению) разбросаны между свойствами, css и html. Тем не менее "заточить" оформление под себя все же не сложно.
- Размер всей карусели определяются в css и по умолчанию равен 960 на 280 пикселей. Изменить их можно, изменив css-правила элемента с идентификатором carousel (как это сделано в демонстрации этого плагина на данном сайте).
- Размеры отображаемых слайдов можно изменить в свойствах плагина (первые четыре свойства во вкладке Свойства).
- Отступы слайдов от краев карусели так же можно задать в свойствах плагина:
- Оформление отдельно взятого слайда (рамка, стиль курсора и др.) определено в элементах с классом carousel-feature. В оформлении текста к слайду цвет фона задается в css у элементов с классом carousel-feature, а уровень прозрачности у них же, но уже динамически, в js (то есть изменить его будет куда более проблематично).
- css-стили, определяющие расположение стрелок запускающих переключения слайдов находятся в css (идентификаторы carousel-left и carousel-right) и они спозиционированы абсолютно (так что их значения так же можно переписать в правилах css).
- Элемент с перечнем страниц (элемент с классом tracker-individual-container), а так же номером и суммой страниц (элемент с классом tracker-summation-container), тоже спозиционированы абсолютно и могут быть изменены в css, как это сделано в демонстрационных примерах выше (см. их исходный код).