FlexSlider — простий ротатор вмісту

2

Від автора: при створенні сайтів дуже часто виникає необхідність в публікації на його сторінках різних медіа матеріалів. Наприклад, фотографій або зображень з невеликим текстовим описом. При цьому дуже зручно контент даного типу виводити у вигляді ротатора або слайдшоу, особливо, якщо необхідно вивести велику кількість зображень на одній сторінці. Тому в даному уроці ми з Вами розглянемо слайдер FlexSlider, що дозволяє швидко і легко створити слайдшоу або ротатор необхідного Вам контенту.

FlexSlider — простий ротатор вмістуFlexSlider — простий ротатор вмісту

Установка слайдера

Насамперед необхідно встановити даний слайдер. Для цього переходимо на офіційний сайт http://flexslider.woothemes.com/. І викачуємо актуальну версію сдайдера FlexSlider (натиснувши на кнопку Download Flexslider).

FlexSlider — простий ротатор вмісту

Так само для роботи даного слайдера необхідна бібліотека jQuery, тому перейдемо на офіційний сайт цієї бібліотеки (http://jquery.com і також завантажити її. І останнє, для підтримки всіх анімаційних ефектів, потрібно плагін jquery.easing. Тому перейдемо на сайт http://gsgd.co.uk/sandbox/jquery/easing/ завантажити даний плагін.

FlexSlider — простий ротатор вмісту

В результаті завантаження слайдера FlexSlider ми отримуємо архів, з наступними файлами і папками:

demo – демонстраційні матеріали можливостей слайдера;

fonts – додаткові шрифти, для правильного відображення елементів слайдера.;

images – зображення для елементів слайдера;

changelog.txt – опису змін у поточній версії;

flexslider.css – стилі СЅЅ слайдера;

jquery.flexslider.js – власне скрипт слайдера FlexSlider;

jquery.flexslider-min.js – стисла копія скрипта FlexSlider;

README.mdown – оиписание слайдера від виробника.

Тепер створимо тестову сторінку index.php:

FLEXSLIDER

FlexSlider простий ротатор вмісту

Зверніть увагу, що я створив папку css і в ній, розмістив файл style.css – це стилі для тестової сторінки. В дану папку скопіюємо файл стилів flexslider.css і підключимо його на сторінці:

Також підключимо, бібліотеки, які ми завантажили і скрипт FlexSlider:

Далі створимо папку images і скопіювати в неї кілька зображень для прокручування в майбутньому слайдері. Також скопіювати вміст однойменної папки з архіву FlexSlider. І нарешті папку fonts копіюємо в папку css. На цьому установка слайдера завершена.

Висновок на екран слайдера

Насамперед необхідно створити розмітку для майбутнього слайдера. Тому в файл index.php у тому місці, де необхідно вивести слайдер, додамо наступний код:

  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту

Поки, не звертаємо увагу на атрибут data-thumb, ми до нього повернемося при вивченні налаштувань слайдреа. Тепер створимо файл script.js, в якому ми будемо писати код на мові javascript, підключимо його у файлі index.php і додамо наступний код:

$(document).ready(function() {
$(‘.flexslider’).flexslider({
});
});

Тобто, використовуючи бібліотеку jquery, вибираємо блок з класом flexslider і викликаємо метод flexslider. Тим самим виводимо сладер на екран. Тепер давайте перейдемо в браузер і подивимося, що у нас вийшло:

FlexSlider — простий ротатор вмісту

Додавання текстового опису

До кожного слайда можна додати невелику текстовий опис. Для цього необхідно змінити htnl розмітку слайдера. А саме, кожен слайд додати абзац тексту:

  • FlexSlider — простий ротатор вмісту

    text for Example

  • FlexSlider — простий ротатор вмісту

    text for Example1

  • FlexSlider — простий ротатор вмісту

    text for Example2

  • FlexSlider — простий ротатор вмісту

    text for Приклад 3

  • FlexSlider — простий ротатор вмісту

    text for Приклад 4

  • FlexSlider — простий ротатор вмісту

    text for Example5

  • FlexSlider — простий ротатор вмісту

    text for Example6

  • FlexSlider — простий ротатор вмісту

    text for Example7

  • FlexSlider — простий ротатор вмісту

    text for Example

При цьому на екрані ми побачимо наступне:

FlexSlider — простий ротатор вмісту

Тепер давайте змінимо вигляд текстового опису. Для цього опишемо правила css для класу flex-caption (даний клас присвоєно кожному абзацу з текстом):

.flex-caption {
background-color:gray;
bottom: 0;
color: #FFFFFF;
font-size: 14px;
left: 0;
line-height: 18px;
padding: 2%;
text-align: center;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
width: 96%;
opacity:0.6;
margin:-35px 0 0 0;
}

На екрані ми побачимо наступне:

FlexSlider — простий ротатор вмісту

Налаштування

FlexSclider підтримує величезну кількість налаштувань, які дозволяють змінити вигляд і швидкість виконання анімаційних ефектів, так і відображення елементів керування. Давайте розглянемо деякі з них:

namespace – приставка, яка буде додана до кожного імені класу слайдера;

selector: — за допомогою даної настройки можна вказати селектор елемента, який буде виступати в якості слайдера (за замовчуванням .slides > li);

animation – тип анімації (можливі варіанти fade або slide);

easing – швидкість і прискорення виконання анімаційних ефектів (ця настройка працює тільки на тип анімації fade і при наявності плагін jquery.easing);

reverse – гортання зображень у зворотному напрямку (актуально для анімації slide)

animationLoop – зациклення слайдреа, тобто прокрутка зображення виконується нескінченно, як би по кільцю (коли доходимо до останнього зображення слайдера, відтворення починається заново);

startAt – вказуємо індекс зображення, з якого необхідно виконати відтворення (індексація починається з нуля);

slideshow – якщо TRUE, буде виконано автоматичне відтворення слайдшоу;

slideshowSpeed – швидкість слайдшоу, тобто час затримки кожного зображення (у мілісекундах);

animationSpeed – швидкість виконання анімаційних ефектів (у мілісекундах);

initDelay – затримка при ініціалізації слайдреа, тобто затримка до початку відтворення слайдшоу;

randomize – виведення слайдів у випадковому порядку;

pauseOnHover – зупинка слайдера при наведенні миші;

pauseOnAction – зупинка слайдера при кліці по елементам управління слайдреа;

controlNav – якщо TRUE, буде показана нижня панель управління слайдером. Можливі варіанти: TRUE, FALSE і thumbnails – в цьому випадку в нижній панелі управління будуть виведені мініатюри кожного слайда. Для цього для кожного слайда блок li додано атрибут data-thumb – шлях до мініатюрі слад.

directionNav – якщо TRUE будуть показані елементи управління бічних панелей;

keyboard – якщо TRUE, буде включена можливість управління слайдером, використовуючи клавіатуру.

Давайте додамо наступні налаштування і подивимося, що у нас вийшло:

$(document).ready(function() {
$(‘.flexslider’).flexslider({
animation:»fade»,
//easing:»easeOutElastic»,
animationLoop:true,
startAt:5,
slideshow:true,
slideshowSpeed:2000,
animationSpeed:1000,
//initDelay:3000,
randomize:true,
//pauseOnHover:true,
pauseOnAction:true,
controlNav:’thumbnails’,
directionNav:true,
keyboard:false,
});
});

FlexSlider — простий ротатор вмісту

При цьому для стилізації мініатюр, необхідно додати наступні правила css:

.flex-control-thumbs img{
width:55px !important;
padding:5px;
}
.flex-control-thumbs li {
width:auto !important;
}

Синхронізація двох слайдерів

FlexSlider підтримує можливість синхронізації двох слайдерів, при цьому один з них працює в звичайному режимі, а другий використовується як елемент навігації для першого. В даному випадку другий слайдер являє собою ротатор або карусель зображень. Тому давайте подивимося, як реалізувати дану можливість. Для цього створюємо нову розмітку html:

  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту
  • FlexSlider — простий ротатор вмісту

Тобто ми будемо виводити два слайдера (перший – слайдер, другий — ротатор) на одній сторінці, а значить і розмітка потрібна для кожного з них. Далі, використовуючи javascript, викликаємо відображення кожного з слайдерів:

$(document).ready(function() {
$(‘#carousel’).flexslider({
animation: «slide»,
controlNav: false,
animationLoop: false,
slideshow: false,
itemWidth:100
asNavFor: ‘#slider’,
easing: ‘easeInElastic’,
});
$(‘#slider’).flexslider({
animation: «slide»,
controlNav: false,
animationLoop: false,
slideshow: false,
sync: «#carousel»,
easing: ‘easeInElastic’
});
});

Як Ви бачите, виклик слайдерів аналогічний, але є деякі зауваження. Для ротатора, тобто слайдера, який буде виступати в якості навігації.

він повинен обов’язково бути першим;

необхідно вказати налаштування asNavFor («навігація») і вказати в ній селектор блоку слайдра (в нашому випадку це блок з ідентифікатором slider);

що б слайдер виводився у вигляді ротатора, необхідно задати ширину кожного слайда, використовуючи налаштування itemWidth (в нашому випадку це 100 пікселів);

Для слайдера, досить задати налаштування sync (з чим саме синхронізуватися), і передати їй селектор блоку з ротатором, в нашому випадку це блок з ідентифікатором carousel. Також додамо кілька правил css для більш гарного відображення:

#carousel .slides li {
margin:2px;
}
#carousel img {
opacity:0.5;
}
#carousel img:hover{
opacity:1;
}
.flex-active-slide img{
opacity:1 !important;
}

І подивимося, що у нас вийшло:

FlexSlider — простий ротатор вмісту

Ось ми з Вами розглянули основні моменти в роботі з FlexSlider. На сторінці http://www.woothemes.com/flexslider/, наведена детальна документацію по даному інструменту з описом тих параметрів, які ми з Вами не торкнулися.

На цьому урок закінчено! Всього Вам доброго і вдалого кодування!!!