Beautiful Custom Slider Control Plugin - jQuery AlRangeSlider
File Size: | 38 KB |
---|---|
Views Total: | 6269 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |
AlRangeSlider is a jQuery plugin that lets you generate pretty nice, highly customizable, user-friendly slider controls on the webpage.
Key Features:
- Horizontal & Vertical layouts.
- Dark and Light themes.
- Fully responsive design.
- Custom marks, ticks, steps, tooltips, etc.
- Written in TypeScript and SCSS.
How to use it:
1. Add jQuery library and the AlRangeSlider plugin's files to the page.
<link rel="stylesheet" href="css/al-range-slider.css" /> <script src="/path/to/cdn/jquery.min.js"></script> <script src="js/al-range-slider.js"></script>
2. Create a container to hold the range slider.
<div class="example"></div>
3. Initialize the plugin to generate a default range slider.
$(function(){ $('.example').alRangeSlider(); });
4. Customize the min/max values and step size.
// from a range object $('.example').alRangeSlider({ range: { min: 0, max: 100, step: 1 }, }); // from a values array, takes priority over 'range' and 'pointsMap' $('.example').alRangeSlider({ valuesArray?: number[] | string[]; }); // a points map, takes priority over 'range' $('.example').alRangeSlider({ pointsMap?: Record<number, TPointValue>; });
5. Set the orientation of the range slider. Default: "horizontal".
$('.example').alRangeSlider({ orientation: "vertical", });
6. Enable the dark mode. Default: "light".
$('.example').alRangeSlider({ theme: "dark", });
7. Customize the marks, ticks, steps, tooltips, etc.
$('.example').alRangeSlider({ grid: { minTicksStep: 1, marksStep: 1 }, showTooltips: true, collideTooltips: true, tooltipsSeparator: " → " });
8. More configuration options.
$('.example').alRangeSlider({ // initial value initialSelectedValues: { to: 0 }, // the argument of .toFixed(), used for rounding fractional values valuesPrecision: 4, // toggles knobs collision and prevents them from passing through each other collideKnobs: true, // enables smooth transitions allowSmoothTransition: true, // shows input fields showInputs: true, });
9. Callback functions.
$('.example').alRangeSlider({ onInit: (IState) => void, onStart: (IState) => void, onFinish: (IState) => void, onChange: (IState) => void, onUpdate: (IState) => void, }); interface IState { // an object where the keys are IDs and the values are [position, value] tuples selectedPoints?: Record<string, TPoint>; // an object where the keys are IDs and the values are position limits selectedPointsLimits?: Record<string, { min: number; max: number }>; // an object where the keys are IDs and the values are selected values selectedValues?: Record<string, TPointValue>; // an object where the keys are IDs and the values are prettified selected values selectedPrettyValues?: Record<string, string>; // a tuple, last selected position currentPosition?: [id: string, position: number]; // a tuple, last selected limits currentPositionLimits?: [id: string, limits: { min: number; max: number }]; // a tuple, last active status currentActiveStatus?: [id: string, active: boolean]; // a tuple, last selected value currentValue?: [id: string, value: string]; }
9. API methods.
const instance = $('.example').alRangeSlider(); // enable/disable the range slider instance.alRangeSlider('disable', false); instance.alRangeSlider('disable'); // restart the range slider sliderInstance.alRangeSlider('restart', { // options here }); // update the range slider sliderInstance.alRangeSlider('update', { values: { from: -10, to: 10 }, });
This awesome jQuery plugin is developed by Aleinbanger. For more Advanced Usages, please check the demo page or visit the official website.