Учимся создавать кроссбраузерные ползунки прокрутки(диапазонноый слайдер) с помощью плагина noUiSlider
Данный слайдер очень мало весит и достаточно функционален, а так же полностью настраивается при помощи CSS.
И так, для начала нам нужно сделать небольшую разметку, которая будет состоять всего из одного блока с индификатором.
html
Да, это все! Скрипт сам с генерирует всю нужную ему разметку.
JS
Для работы плагина, необходима библиотека JQuery начиная от версии 1.7 и выше.
А теперь нам нужно инициализировать наш плагин к данному индификатору.
Для того что бы мы могли вставить текущее значение куда то, нам нужно создать метод который нам в этом поможет.
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>
$("#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
Но только нужно ставить наверное на те модули которые обновляться должны не раньше через пару тройку минут
С Уважением, Андрей...