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

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

И так, для начала нам нужно сделать небольшую разметку, которая будет состоять всего из одного блока с индификатором.

html

Код
<div id="slider"></div>

Да, это все! Скрипт сам с генерирует всю нужную ему разметку.

JS

Для работы плагина, необходима библиотека JQuery начиная от версии 1.7 и выше.

Код
<script src="jquery.nouislider.js"></script>

А теперь нам нужно инициализировать наш плагин к данному индификатору.

Код
<script>
$("#slider").noUiSlider({
  start: 40, //Это начальная отметка, она должна быть в приделах максимальной и минимальной величин(Указав через запятую еще одно число вы добавите еще 1 ползунок)
  orientation: 'vertical', //Расположение "vertical" и по умолчанию горизонтальная(просто ничего не вставляйте)
step: 10, // Шаг  
direction: "rtl", // Определяет, в какую сторону будет ездить ползунок "ltr","rtl"
behaviour: 'drag-fixed', // Если используется 2 ползунка, то перетаскивать сразу оба
range: { // Массив с диапазоном чисел
  'min': 0, //Минимальное
  'max': 100 //Максимальное
  },
connect: true, // Позволяет записывать данные ползунка туда, куда нам нужно!
serialization: {
lower: [ // Первый ползунок
  new Link({  
  target: $('#span') // Мы вставляем текущее значение ползунка в блок с индификатором span
  }),
  new Link({
  target: $('input[type="text"]') // Мы вставляем текущее значение ползунка в текстовое поле
  })
  ],
upper: [ // Второй ползунок
  new Link({  
  target: $('#span') // Мы вставляем текущее значение ползунка в блок с индификатором span
  }),
  new Link({
  target: $('input[type="text"]') // Мы вставляем текущее значение ползунка в текстовое поле
  })
  ],
format: { //Массив с форматом вывода данных
  decimals: 3, //Количество нолей после целого числа
  mark: ',' // Разделитель после целого числа
prefix: '$' // Префикс, например вы можете указать рубли, евро, доллары
  }
}
});
</script>

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

Код
var Link = $.noUiSlider.Link;

CSS

Для стилизации нашего слайдера, нам нужно подключить уже имеющуюся таблицу стилей

Код
<link href="jquery.nouislider.css" rel="stylesheet">

Файл не большой и без труда сможете понять какой класс за что отвечает.

Спасибо за внимание! По вопросам пишите в комментарии!

  • FalleN

  • 4814

  • 1

  • 325

Ссылки на статью:

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