jCarouselLite

Опубликовано: 4 августа 2015 г.
  • карусель
  • Скачать
jCarousel Lite - это jQuery-плагин, который превращает в карусель требуемые картинки и HTML-контент. Он суперлегкий, весит около 2 кб, но очень гибкий и настраиваемый для всех наших нужд.

Установка jCarouselLite

Установка на сайт карусели jCarouselLite, как правило, состоит из 3 шагов, которые мы подробно разберем ниже...

Шаг 1:

Подключите библиотеку jQuery и плагин jCarouselLite. Если вы хотите интересные эффекты, подключите плагин jQuery Easing. Если вы хотите скроллить карусель с помощью колеса мыши, подключите также jQuery Mouse Wheel плагин.

<script src="jquery.js"></script>
<script src="jquery.jcarousellite.js"></script>

<!-- Необязательно -->
<script src="jquery.easing.1.3.min.js"></script>
<script src="jquery.mousewheel.js"></script>
Шаг 2:

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

<button class="prev">«</button>
<button class="next">»</button>

<div class="any-class">
    <ul>
        <li><img src="image/1.jpg" style="width:150px; height:118px;" alt></li>
        <li><img src="image/2.jpg" style="width:150px; height:118px;" alt></li>
        <li><img src="image/3.jpg" style="width:150px; height:118px;" alt></li>
        <li><img src="image/4.jpg" style="width:150px; height:118px;" alt></li>
        <li><img src="image/5.jpg" style="width:150px; height:118px;" alt></li>
    </ul>
</div>
Шаг 3:

Запустить плагин можно таким образом:

$(function() {
    $(".any-class").jCarouselLite({
        btnNext: ".next",
        btnPrev: ".prev"
    });
});

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

Стили для jCarouselLite: дефолтные и пользовательские.

Базовая установка потребует от нас разместить на странице HTML-код и вызвать плагин jCarouselLite. Вот и все !!! Плагин позаботится о расположении элементов чтобы получилась красивая горизонтальная или вертикальная карусель. Размеры карусели определяются на основе видимых элементов (но вы должны предоставить размеры отдельных элементов). Кроме того, плагин позаботится о совместимости между различными браузерами. HTML, CSS и JS-код для такой базовой установки показаны ниже.

<!-- HTML -->
<button class="prev-no-style">«</button>
<button class="next-no-style">»</button>

<div class="carousel-no-style">
    <ul>
        <li><img src="image/1.jpg" style="width:130px; height:118px;" alt></li>
        <li><img src="image/2.jpg" style="width:130px; height:118px;"> alt</li>
        <li><img src="image/3.jpg" style="width:130px; height:118px;"> alt</li>
        <li><img src="image/4.jpg" style="width:130px; height:118px;"> alt</li>
        <li><img src="image/5.jpg" style="width:130px; height:118px;"> alt</li>
    </ul>
</div>
/* JS */
$(".carousel-no-style").jCarouselLite({
    btnNext: ".next-no-style",
    btnPrev: ".prev-no-style"
});

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



Единственная необходимая информация о стилях, которую нужно предоставить - ширина и высота элемента карусели, в этом случае <img src="image/1.jpg" style="width:130px; height:118px;">. Эта информация крайне важна при инициализации карусели, так что не забудьте ее.

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

‹
›
/* CSS */
.carousel {
   border: 1px solid #bababa;
   border-radius: 10px;
   background-color: ghostwhite;
   float: left;
   padding-left: 10px;
}
.carousel>ul>li>img {
   width: 150px;
   height: 118px;
   vertical-align: middle;
   margin: 10px 10px 10px 0;
   border-radius: 5px;
}

a.prev, 
a.next {
   display: block;
   width: 26px;
   height: 30px;
   line-height: 1;
   background-color: #333333;
   color: ghostwhite;
   text-decoration: none;
   font-family: Arial, sans-serif;
   font-size: 25px;
   border-radius: 8px;
   float: left;
}
a.prev {
   margin: 50px -5px 0 0; 
   text-indent: 7px;
}
a.next {
   margin: 50px 0 0 -5px; 
   text-indent: 10px;
}
a.prev:hover, 
a.next:hover {
   background-color: #666666;
}
<!-- HTML -->
<div class="custom-container basic2">
    <a href="#" class="prev">‹</a>
    <div class="carousel">
        <ul>
            <li><img src="image/1.jpg" alt></li>
            <li><img src="image/2.jpg" alt></li>
            <li><img src="image/3.jpg" alt></li>
            <li><img src="image/4.jpg" alt></li>
            <li><img src="image/5.jpg" alt></li>
        </ul>
    </div>
    <a href="#" class="next">›</a>
    <div class="clear"></div>
</div>
/* JS */
$(".basic2 .carousel").jCarouselLite({
    btnNext: ".basic2 .next",
    btnPrev: ".basic2 .prev"
});

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

Теперь, когда вы понимаете разницу между стилем по умолчанию и пользовательским стилем, вы можете легко разобраться примерах. Так как все примеры используют одинаковый HTML и CSS код, я буду показывать для них только JS-код. Вы всегда можете посмотреть исходный код, если захотите. :-)

Документация jCarouselLite

Основная часть карусели jCarouselLite может быть создана только с помощью нижеприведенного фрагмента кода. Этот код, как правило, выполняется при событии document.ready или window.load, но вы можете инициализировать карусель когда вам необходимо. В следующем примере карусель создается при событии document.ready.

$(function() {
    $(".any-class").jCarouselLite({
        btnNext: ".next",
        btnPrev: ".prev"
    });
});

Все возможные настройки рассмотрены ниже:

  • btnPrev

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

  • btnNext

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

  • btnGo

    Если вы не хотите использовать кнопки следующий и предыдущий для навигации, а предпочитаете пользовательскую навигацию из кнопок, равных числу элементов в карусели, то вы можете использовать эту опцию. Просто составьте массив селекторов для каждого элемента в карусели. Индекс массива представляет собой индекс элемента. Имеется в виду, что если первый элемент массива – 0, то когда на представленный нулём элемент кликают, карусель переходит к первому элементу и т.д. Эта функция очень мощная. К примеру, я сделал с ее помощью интерфейс с вкладками, сделав элементы навигации похожими на вкладки в CSS. Элементом карусели может быть любой контент, а не только изображения. Можно добавить простую вкладочную навигацию за считанные минуты, используя любой другой плагин. Самое лучшее в этом – то, что вкладки будут плавно переключаться благодаря выбранному эффекту.

  • mouseWheel

    Начиная с версии 0.4.0 кнопки навигации больше не нужны для прокрутки карусели. Само колесо мыши может быть использовано для навигации. Чтобы достичь этого нужно подключить jQuery Mouse Wheel плагин и установить значение true для этой опции. Теперь, вращая колесо мыши, вы сможете прокручивать элементы карусели. Использование кнопок и колеса мыши не являются взаимоисключающими. Для того, чтобы использовать их вместеи предназначены опции btnNext, btnPrev и btnGo.

  • auto

    С версии jCarouselLite 0.4.0, карусель может сама автоматически прокручиваться. Использование этого свойства позволит задать интервал (в миллисекундах) между прокрутками элементов карусели. По умолчанию имеет нулевое значение, и что отключает автоматическую прокрутку.

  • speed

    Задание скорости приведет к замедлению или увеличению скорости скольжения вашей карусели. Попробуйте поэкспериментировать с различными скоростями, например 800, 600, 1500 и т.д. Обнуление скорости снимет эффект скольжения.

  • easing

    Вы можете задать любой эффект для анимации (предварительно подключив jQuery Easing плагин).

  • vertical

    Определяет направление карусели. Если vertical: true, то карусель будет отображаться вертикально. Кнопки Следующий и Предыдущий будут прокручивать в этом случае элементы карусели также вертикально. По умолчанию значение равноfalse, что означает, что карусель будет отображаться по горизонтали. Кнопки навигации Следующий и Предыдущий в этом случае будут прокручивать элементы справа налево и слева направо соответственно.

  • circular

    Установка значения true позволяет осуществить круговую навигацию. Это означает, что когда вы щелкните на кнопку Следующий после достижения последнего элемента, то следом за ним покажется первый элемент (причем направление скроллинга не изменится), и наоборот. Если вы установите circular: false, то при нажатии на кнопку Следующий после достижения последнего элемента никакой прокрутки карусели не произойтет. Тоже самое для кнопки Предыдущий и первого элемента карусели.

  • visible

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

  • start

    Определяет с какого элемента по порядку начинается галерея (помните, что первый элемент имеет значение 0)

  • scroll

    Начиная с версии 0.4.0, вы можете указать количество прокручиваемых элементов при нажатии на кнопки Следующий или Предыдущий.Разумеется, это распространяется и на прокрутку колесом мыши и на автоматический скроллинг. Например, scroll: 2 приведет к тому, что будут прокручиваться два элемента.

  • beforeStart

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

  • afterEnd

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

Примеры jCarouselLite

Настройки по-умолчанию

Применив дефолтные настройки, мы получим карусель вместе с кнопками навигации Предыдущий и Следующий Вот как она выглядит:

‹
›

$(".default .carousel").jCarouselLite({
    btnNext: ".default .next",
    btnPrev: ".default .prev"
});
Автоматическая прокрутка

Автоматически прокручивает содержимое на основе периода, указанного в опции auto.


$(".auto .carousel").jCarouselLite({
    auto: 800,
    speed: 1000
});
Хотите прокручивать больше элементов?

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

‹
›

$(".scrollMore .carousel").jCarouselLite({
    btnNext: ".scrollMore .next",
    btnPrev: ".scrollMore .prev",
    scroll: 2
});
Прокрутка колесом мыши

Вы можете использовать прокрутки от одного элемента к следующему не только кнопоки, но и колесо мыши. Попробуйте поскроллить колесом мыши при наведении на карусель и посмотреть, что происходит. Эта возможность не взаимоисключает использование кнопок навигации. Вы можете использовать и то, и другое в вашей карусели, если хотите. Помните, что плагин jQuery Mouse Wheel должен быть подключен!


$(".mouseWheel .carousel").jCarouselLite({
    mouseWheel: true
});
Колесо мыши и кнопки навигации.

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

‹
›

$(".mouseWheelButtons .carousel").jCarouselLite({
    btnNext: ".mouseWheelButtons .next",
    btnPrev: ".mouseWheelButtons .prev",
    mouseWheel: true
});
Настройка анимации. Эффекты анимации.

Эффекты анимации - лучшее, что случилось с JQuery, после самой JQuery. Поэкспериментируйте с различними значениями и выберите то, что вам по душе. Помните, что плагин jQuery Easing должен быть подключен!

‹
›

$(".bounceout .carousel").jCarouselLite({
    btnNext: ".bounceout .next",
    btnPrev: ".bounceout .prev",
    easing: "easeOutBounce",
    speed: 1000
});
Настройка анимации. Изменение скорости.

Вам кажется, что скроллинг происходит как-то медленно? Нет проблем. Просто поменяйте скорость анимации и все!

‹
›

$(".slower .carousel").jCarouselLite({
    btnNext: ".slower .next",
    btnPrev: ".slower .prev",
    speed: 800
});
Произвольный виджет

Симпатичный виджет, не так ли? Просто нажмите на миниатюрных изображений и вы увидите, что верхнее изображение изменилось. Теперь вы можете увидеть увеличенную копию каждого изображения! Кроме того, я использовал эффект easeOutBack, чтобы скроллинг был поинтереснее.

1


‹
›

$(".widget .carousel").jCarouselLite({
    btnNext: ".widget .next",
    btnPrev: ".widget .prev",
    speed: 800,
    easing: "easeOutBack"
});

$(".widget img").click(function() {
    $(".widget .mid img").attr("src", $(this).attr("src"));
});
Больше или Меньше

jCarouselLite находится полностью под ваши контролем. Так, вы можете увеличить или уменьшить количество видимых элементов.

‹
›

$(".moreItems .carousel").jCarouselLite({
    btnNext: ".moreItems .next",
    btnPrev: ".moreItems .prev",
    visible: 2
});
Любой контент, не обязательно картинки

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

‹
  • Это обычный текст без стилей

  • Здесь кое-что выделено жирным шрифтом

  • В этом тексте притаилась ссылка

  • В этом тексте набрано курсивом одно слово

  • Некий {код} для разработчика

  • Вам нравится этот стиль, не так ли?

  • Это обычный текст без стилей

  • Здесь кое-что выделено жирным шрифтом

  • В этом тексте притаилась ссылка

  • В этом тексте набрано курсивом одно слово

  • Некий {код} для разработчика

  • Здесь некий связанный текст

›

$(".nonImageContent .carousel").jCarouselLite({
    btnNext: ".nonImageContent .next",
    btnPrev: ".nonImageContent .prev"
});
Смешанное содержимое - когда в карусели не только изображения

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

‹
  • Это обычный текст без стилей

  • Здесь кое-что выделено жирным шрифтом

  • Некий {код} для разработчика

  • Вам нравится этот стиль, не так ли?

›

$(".mixedContent .carousel").jCarouselLite({
    btnNext: ".mixedContent .next",
    btnPrev: ".mixedContent .prev"
});
Вертикальная карусель

Теперь вы можете расположить ее как вертикально, так и горизонтально. Что может быть лучше?

‹
›

$(".vertical .carousel").jCarouselLite({
    btnNext: ".vertical .next",
    btnPrev: ".vertical .prev",
    vertical: true
});
Внешние элементы управления

Кнопки, кнопки и еще раз кнопки. Теперь не промахнетесь...

‹ 1 2 3 4 5 6 7 8 9 10 ›


  • Здесь некий жирный текст


$(".externalControl .carousel").jCarouselLite({
    visible: 3,
    start: 0,
    btnNext: ".externalControl .next",
    btnPrev: ".externalControl .prev",
    btnGo:
    [".externalControl .1", ".externalControl .2",
    ".externalControl .3", ".externalControl .4",
    ".externalControl .5", ".externalControl .6",
    ".externalControl .7", ".externalControl .8",
    ".externalControl .9", ".externalControl .10",
    ".externalControl .11", ".externalControl .12"]
});
Функции обратного вызова (Callbacks)

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

‹
›

$(".callback .carousel").jCarouselLite({
    btnNext: ".callback .next",
    btnPrev: ".callback .prev",
    beforeStart: function(a) {
        alert("Перед анимацией:" + a);
    },
    afterEnd: function(a) {
        alert("После анимации:" + a);
    }
});
Слайдер

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

‹
  • Некий {код} для разработчика. А как вам этот стиль ?

›

$(".imageSlider .carousel").jCarouselLite({
    btnNext: ".imageSlider .next",
    btnPrev: ".imageSlider .prev",
    visible: 1,
    speed: 500
});
Слайдер изображений с внешними элементами управления.

Кнопки, кнопки и еще раз кнопки. Теперь не промахнетесь...

‹ 1 2 3 4 5 6 7 8 9 10 ›


  • Некий {код} для разработчика. А как вам этот стиль ?


$(".imageSliderExt .carousel").jCarouselLite({
    btnNext: ".imageSliderExt .next",
    btnPrev: ".imageSliderExt .prev",
    visible: 1,
    btnGo:
    [".imageSliderExt .1", ".imageSliderExt .2",
    ".imageSliderExt .3", ".imageSliderExt .4",
    ".imageSliderExt .5", ".imageSliderExt .6",
    ".imageSliderExt .7", ".imageSliderExt .8",
    ".imageSliderExt .9", ".imageSliderExt .10",
    ".imageSliderExt .11", ".imageSliderExt .12"]
});
Дробные числа при настройке отображения

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

‹
›

$(".fraction .carousel").jCarouselLite({
    btnNext: ".fraction .next",
    btnPrev: ".fractions .prev",
    visible: 2.5,
    circular: false
});
Отключить циклический скроллинг

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

‹
›

$(".nonCircular .carousel").jCarouselLite({
    btnNext: ".nonCircular .next",
    btnPrev: ".nonCircular .prev",
    circular: false
});
Популярные статьи
2D игра на Unity. Подробное руководство. Часть 1
  • unity
2D игра на Unity. Подробное руководство. Часть 1
Адаптивный слайдер без Javascript на CSS3
  • слайдер
Адаптивный слайдер без Javascript на CSS3
Работа с Unity в 2D
  • unity
Работа с Unity в 2D
2D игра на Unity. Подробное руководство. Часть 3
  • unity
2D игра на Unity. Подробное руководство. Часть 3
2D игра на Unity. Подробное руководство. Часть 4
  • unity
2D игра на Unity. Подробное руководство. Часть 4
2D игра на Unity. Подробное руководство. Часть 5
  • unity
2D игра на Unity. Подробное руководство. Часть 5
2D игра на Unity. Подробное руководство. Часть 6
  • unity
2D игра на Unity. Подробное руководство. Часть 6
Учебник по новому GUI в Unity. Часть 2.
  • unity
Учебник по новому GUI в Unity. Часть 2.
Учебник по новому GUI в Unity. Часть 1.
  • unity
Учебник по новому GUI в Unity. Часть 1.

HTML LESS LESS React
Онлайн журнал для профессиональных веб-дизайнеров и программистов
БлогПлагиныГрафикаИнструменты
SPAbootstrapjavascriptjqueryанимацияверсткагалереяграфикакарусельподсказкискроллингсчетчикформыэлементы интерфейса
© 2009-2017 WebSketches.ru