Responsive & control deslizante de alcance táctil en Vanilla JavaScript-rangeSlider

Tiempo de ejecución: 30 minutos. Empezar

Autor: Stryzhevskyi
Views Total: 7,281
Sitio oficial: Ir a la web
Actualizado: April 6, 2019
Licencia: MIT

Vista prévia

Responsive & control deslizante de alcance táctil en Vanilla JavaScript-rangeSlider

Descripción

rangeSlider es una librería de JavaScript Pure Vanilla que convierte las entradas regulares de rango HTML5 en controles de interfaz de usuario de control deslizante de rango adaptables y móviles.

Instalación

# Yarn
$ yarn add rangeslider-pure

# NPM
$ npm install rangeslider-pure --save

Funcionamiento

Cargue el rangeSlider. CSS para los estilos predeterminados.

<link rel="stylesheet" href="dist/rangeSlider.css">

Cargue el rangeSlider. js al final del documento.

<script src="dist/rangeSlider.js"></script>

Cree una entrada de rango normal en el documento.

<input type="range" min="0" max="5" data-rangeSlider>

Uso.

// Initialize a new plugin instance for element or array of elements.
var slider = document.querySelectorAll('input[type="range"]')
rangeSlider.create(slider, {

polyfill: true,
 // Boolean, if true, custom markup will be created

rangeClass: 'rangeSlider',

disabledClass: 'rangeSlider--disabled',

fillClass: 'rangeSlider__fill',

bufferClass: 'rangeSlider__buffer',

handleClass: 'rangeSlider__handle',

startEvent: ['mousedown', 'touchstart', 'pointerdown'],

moveEvent: ['mousemove', 'touchmove', 'pointermove'],

endEvent: ['mouseup', 'touchend', 'pointerup'],

min: null,


// Number , 0

max: null,


// Number, 100

step: null,

 // Number, 1

value: null,

// Number, center of slider

buffer: null,

 // Number, in percent, 0 by default

stick: null,


 // [Number stickTo, Number stickRadius]

borderRadius: 10
// Number, if you use buffer + border-radius in css for looks good,

onInit: function () {


console.info('onInit')

},

onSlideStart: function (position, value) {


console.info('onSlideStart', 'position: ' + position, 'value: ' + value);

},

onSlide: function (position, value) {


console.log('onSlide', 'position: ' + position, 'value: ' + value);

},

onSlideEnd: function (position, value) {


console.warn('onSlideEnd', 'position: ' + position, 'value: ' + value);

}
});

// then...
var giveMeSomeEvents = true; // or false
slider.rangeSlider.update({min : 0, max : 20, step : 0.5, value : 1.5, buffer : 70}, giveMeSomeEvents);
// or
slider.rangeSlider.onSlideStart: function (position, value) {

console.error('anotherCallback', 'position: ' + position, 'value: ' + value);
}

Registro de cambios

v0.4.8 (04/06/2019)

  • Añadir versión a RangeSlider
  • exponer módulos internos (Dom, funciones)
  • corregir offsetWidth de undefined

v0.4.7 (02/09/2019)

  • dependencias de actualización
  • corregir la función getDimension

12/02/2018

  • v0.4.6: fix buffer (without z-index), code formatting

07/04/2018

  • v0.4.5

Te puede interesar: