10 283 Скрипты / Slider

iView - адаптивный jQuery слайдер

 

Плагин для создания красивейших слайдеров - iView. Множество настроек, навигация, таймер, API, поддержка touch устройств, вставка видео и адаптивность.

HTML

В head подключаем необходимые файлы для работы плагина:

<link rel="stylesheet" href="iview.css" type="text/css" media="screen" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/jаvascript"></script>
<script src="raphael-min.js" type="text/jаvascript"></script>
<script src="jquery.easing.js" type="text/jаvascript"></script>
<script src="iview.packed.js" type="text/jаvascript"></script>

В тело документа вставьте секцию слайдера (или слайдеров):

<div id="iview">
    <!-- Slide 1 -->
    <div data-iview:thumbnail="photos/photo1_thumb.jpg" data-iview:image="photos/photo1.jpg"></div>
    <!-- Slide 2 -->
    <div data-iview:thumbnail="photos/photo2_thumb.jpg" data-iview:image="photos/photo2.jpg"></div>
</div>

Вы можете добавить Заголовок для каждого слайда. Для этого добавьте div с классом "iview-caption" в div приведенный выше:

<div id="iview">
    <!-- Slide 1 -->
    <div data-iview:thumbnail="photos/photo1_thumb.jpg" data-iview:image="photos/photo1.jpg">
        <!-- Caption -->
        <div class="iview-caption" data-x="0" data-y="0" data-width="400" data-height="300" data-transition="wipeRight" data-speed="700"><h3>The Responsive Caption</h3>This is the product that you <b><i>all have been waiting for</b></i>!<br><br>Customize this slider with just a little HTML and CSS to your very needs. Give each slider some captions to transport your message.<br><br>All in all it works on every browser (including IE6 / 7 / 8) and on iOS and Android devices!</div>
    </div>
    <!-- Slide 2 -->
    <div data-iview:thumbnail="photos/photo2_thumb.jpg" data-iview:image="photos/photo2.jpg">
        <!-- Caption -->
        <div class="iview-caption" data-x="70" data-y="70" data-transition="expandLeft">Caption Description</div>
    </div>
</div>

При добавлении html5 атрибута data-attribute к div с классом "iview-caption", вы можете указать эффект, который будет использоваться для Заголовка. Возможные эффекты: "wipeLeft", "wipeRight", "wipeTop", "wipeBottom", "expandLeft", "expandRight", "expandTop", "expandBottom", "fade".

<div class="iview-caption" data-transition="fade">Описание заголовка</div>

Заголовок может иметь data-transition с параметром "fade", в этом случае он будет показываться с эффектом fade.

Доступны ещё такие HTML5 атрибуты:

  • data-transition - возможные эффекты перехода: "wipeLeft", "wipeRight", "wipeTop", "wipeBottom", "expandLeft", "expandRight", "expandTop", "expandBottom", "fade"
  • data-easing - полный список доступен тут
  • data-speed - скорость переходов мс.
  • data-x - позиция Заголовка по координате X в px.
  • data-y - позиция Заголовка по координате Y в px.
  • data-width - ширина Заголовка в px, если не указана будет использоваться исходная ширина Заголовка.
  • data-height - высота Заголовка в px, если не указана будет использоваться исходная высота Заголовка.

Видео

Чтобы использовать в вашем слайдшоу видео, нужно вставить iframe в один из ваших слайдов:

<div data-iview:image="photos/photo.jpg">
    <!-- Video iFrame -->
    <iframe src="http://player.vimeo.com/video/11475955?byline=1&portrait=0" width="100%" height="100%" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
 
    <!-- Caption -->
    <div class="iview-caption" data-x="70" data-y="70" data-transition="expandLeft">Caption Description</div>
</div>

Как вы можете заметить, мы задали ширину iframe 100%, таким образом видео будет изменять свой размер в соответствии с размерами слайдшоу.
И окончательно вам нужно теперь инициализировать плагин, то есть указать к какому селектору его применять:

<script type="text/jаvascript">
$(document).ready(function() {
    $('#slider').iView();
});
</script>

Доступные опции.

<script type="text/jаvascript">
$(document).ready(function() {
    $('#slider').iView({
        fx: 'random', // установите эффект, например: 'left-curtain,fade,zigzag-top,strip-left-fade' (достпуные эффекты читайте ниже)
        easing: 'easeOutQuad', // полный список эффектов тут: http://jqueryui.com/demos/effect/easing.html
        strips: 20, // количество полос для их же анимации
        blockCols: 10, // количество колонок для блочной анимации
        blockRows: 5, // количество строк для блочной анимации
        captionSpeed: 500, // скорость эффекта перехода для Заголовка
        captionEasing: 'easeInOutSine', // easing эффект для заголовка
        captionOpacity: 1, // прозрачность заголовка
        animationSpeed: 500, // скорость анимациии слайдов
        pauseTime: 5000, // как доолго будет показываться каждый слайд
        startSlide: 0, // установвка начального слайда (0 index)
        directionNav: true, // навигация Вперед/Назад
        directionNavHoverOpacity: 0.6, // Fade при наведении курсора
        controlNav: true, // 1,2,3,4... цифровая навигация
        controlNavNextPrev: true, // навигация Вперед/Назад
        controlNavHoverOpacity: 0.6, // fade эффект при наведении на наввигацию
        controlNavThumbs: false, // Показывать миниатюры на навигации
        controlNavTooltip: true, // Показывать превьюшки изображений ввиде тултипов
        autoAdvance: true, // Force auto transitions
        keyboardNav: true, // использование стрелок влево / вправо
        touchNav: true, // использование Touch swipe для смены слайдов
        pauseOnHover: false, // остановка слайдшоу при наведении
        nextLabel: "Next", // текст для кнопки "Вперед"
        previousLabel: "Previous", // текст для кнопки "Назад"
        playLabel: "Play", // текст для кнопки "Плей"
        pauseLabel: "Pause", // текст для кнопки "Пауза"
        closeLabel: "Close", // текст для кнопки "Закрыть"
        randomStart: false, //начинать со случайного слайдера
        timer: 'Pie', // Стиль таймера: "Pie", "360Bar" или "Bar"
        timerBg: '#000', // Фон таймера
        timerColor: '#EEE', // цвет таймера
        timerOpacity: 0.5, // прозрачность таймера
        timerDiameter: 30, // диаметр таймера
        timerPadding: 4, // отступ для таймера
        timerStroke: 3, // ширина границы таймера
        timerBarStroke: 1, // ширина границы Bar тамера
        timerBarStrokeColor: '#EEE', // Цвет границы таймера Bar
        timerBarStrokeStyle: 'solid', // Стиль границы таймера Bar
        timerX: 10, // Timer X position threshold
        timerY: 10, // Timer Y position threshold
        tooltipX: 5, // Tooltip X position threshold
        tooltipY: -5, // Tooltip Y position threshold
        onBeforeChange: function(){}, // триггеры до перехода слайдера
        onAfterChange: function(){}, // триггеры после перехода слайдера
        onSlideshowEnd: function(){}, // триггеры после показа всех слайдов
        onLastSlide: function(){}, // триггеры, когда показан последний слайдер
        onAfterLoad: function(){}, // триггер, когда слайдер загружен
        onpause: function(){}, // триггер, когда слайдер на паузе
        onPlay: function(){} // триггер, когда слайдер проигрывается
    });
});
</script>

Доступные значения эффектов для опции fx:

  • random
  • strip-down-right
  • strip-down-left
  • strip-up-right
  • strip-up-left
  • strip-up-down
  • strip-up-down-left
  • strip-left-right
  • strip-left-right-down
  • slide-in-right
  • slide-in-left
  • slide-in-up
  • slide-in-down
  • left-curtain
  • right-curtain
  • top-curtain
  • bottom-curtain
  • fade
  • block-random
  • block-fade
  • block-fade-reverse
  • block-expand
  • block-expand-reverse
  • block-expand-random
  • block-drop-random
  • zigzag-top
  • zigzag-bottom
  • zigzag-grow-top
  • zigzag-grow-bottom
  • zigzag-drop-top
  • zigzag-drop-bottom
  • strip-left-fade
  • strip-right-fade
  • strip-top-fade
  • strip-bottom-fade

HTML5 атрибуты data-

URL ссылка изображения в слайдере добавляется с помощью html5 атрибута data-. Это позволяет загрузить изображение только тогда, когда слайдшоу обращается к нему (lazy load метод).
С помощью html5 атрибутов вы можете добавить множество свойств для слайда, чтобы перезаписать общие.
Например, URL для миниатюр:

<div data-iview:thumbnail="photos/photo1_thumb.jpg" data-iview:image="photos/photo1.jpg"></div>

или эффект перехода, только для одного слайда:

<div data-iview:image="photos/photo1.jpg" data-iview:transition="zigzag-top"></div>

Вы можете установить случайные переходы из множества эффектов:

<div data-iview:image="photos/photo1.jpg" data-iview:transition="zigzag-top,top-curtain,fade"></div>

Ниже приведены все доступные атрибуты data-:

  • data-iview:transition - тип перехода: "strip-down-right", "strip-down-left", "strip-up-right", "strip-up-left", "strip-up-down", "strip-up-down-left", "strip-left-right", "strip-left-right-down", "slide-in-right", "slide-in-left", "slide-in-up", "slide-in-down", "left-curtain", "right-curtain", "top-curtain", "bottom-curtain", "fade", "block-random", "block-fade", "block-fade-reverse", "block-expand", "block-expand-reverse", "block-expand-random", "block-drop-random", "zigzag-top", "zigzag-bottom", "zigzag-grow-top", "zigzag-grow-bottom", "zigzag-drop-top", "zigzag-drop-bottom", "strip-left-fade", "strip-right-fade", "strip-top-fade", "strip-bottom-fade"
  • data-iview:easing - полный список easing эффектов тут
  • data-iview:image - URL изображение слайда
  • data-iview:thumbnail - URL миниатюры слайда (если значение опции 'controlNavThumbs' установлено, как true)
  • data-iview:pausetime - Задержка в мс между концом исползуемого эффекта и началом следующего
  • data-iview:type - тип слайда (установите для video, чтобы оптимизировать слайдер для показа видео роликов)

CSS

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

/* The strips and blocks in the Slider */
.iview-strip {
    some styles
}
.iview-block {
    some styles
}
 
/* Direction nav styles (e.g. Next & Prev) */
.iview-directionNav a {
    some styles
}
.iview-prevNav {
    some styles
}
.iview-nextNav {
    some styles
}
 
/* Control nav styles (e.g. 1,2,3...) */
.iview-controlNav {
    some styles
}
.iview-controlNav a {
    some styles
}
.iview-controlNav a img {
    some styles
}
.iview-controlNav a.active {
    some styles
}
 
/* The captions in the Slider */
.iview-caption {
    some styles
}
 
/* The timer in the Slider */
#iview-timer {
    some styles
}
 
#iview-timer div {
    some styles
}
 
/* The Preloader in the Slider */
#iview-preloader {
    some styles
}
#iview-preloader div {
    some styles
}
 
/* The video show in the Slider */
.iview-video-show {
    some styles
}
.iview-video-show .iview-video-container {
    some styles
}
.iview-video-show .iview-video-container a.iview-video-close {
    some styles
}
.iview-video-show .iview-video-container a.iview-video-close:hover {
    some styles
}
 
 
/* The tooltip in the Slider */
#iview-tooltip {
    some styles
}
 
#iview-tooltip div.holder {
    some styles
}
 
#iview-tooltip div.holder div.container {
    some styles
}
 
#iview-tooltip div.holder div.container div {
    some styles
}
 
#iview-tooltip div.holder div.container div img {
    some styles
}

JS

Как сделать Паузу и Плей слайдера?

$('#slider').trigger('iView:pause'); //Остановка слайдера
$('#slider').trigger('iView:play'); //Старт слайдера

Как сменить слайд?

$('#slider').trigger('iView:goSlide', [2]); //перейти к слайду 2

Как перейти к следующему или предыдущему слайду?

$('#slider').trigger('iView:previous'); //перейти к предыдущему слайду
$('#slider').trigger('iView:next'); //перейти к следующему слайду

Как установить показ со случайного слайда?

var total = $('#slider').children().length;
var rand = Math.floor(Math.random()*total);
$('#slider').iView({
    startSlide:rand
});
Скачать 7587Загрузок 2,61 Mb
Демо

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи