Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Multi-Thumb, Accessible, Beautiful Range Slider with Pips

License

NotificationsYou must be signed in to change notification settings

xuanlutw/svelte-range-slider-pips

 
 

Repository files navigation

A reactive, accessible, multi-thumb, range slider with the ability to display "pips" or "notches" along the range. Importable as a svelte-component, or used directly in any javascript application.

Svelte Range Slider -- focussed, including some pips


📔ExternalFull Documentation & Examples
💲REPLSvelte component demo
CodepenPlain JS component demo

features

Features of the range slider plugin (written below)

  • ✨ fully customisable, stylable & accessible
  • 👍🏽 multi-thumb
  • 🎚 range (min/max)
  • 🏷 floating labels
  • 📏 ruler notches
  • 🏷 labels for notches
  • 🧮 step function
  • 🖍 formatter
  • 🎭 animated

install

Open your project and use the command line to install the package;

yarn add svelte-range-slider-pips --dev# ornpm install svelte-range-slider-pips --save-dev# if you prefer npm

usage

as a regular JS file

If you're not building a svelte-app, you can use the/dist/version of the script/dist/svelte-range-slider-pips.js and include iteither with a regular<script> tag. This should even work with jQuery.

<scriptsrc="./js/vendor/svelte-range-slider-pips.js"/><divid="my-slider"></div><script>varmySlider=newRangeSliderPips({target:document.getElementById("my-slider"),props:{/* props as js object */}});</script>

in a svelte project

Assuming you have a Svelte app up and running;

<script>importRangeSliderfrom"svelte-range-slider-pips";</script><RangeSlider/>

as a JS module

If you're building a bleeding-edge JS application (not svelte), you mightwant to use js imports (import)

importRangeSliderfrom"./node_modules/svelte-range-slider-pips/dist/svelte-range-slider-pips.mjs";varmySlider=newRangeSlider({target:node,// js reference to a DOM elementprops:{/* props as js object */}});

props (options)

slider props

proptypedefaultdescription
valuesArray[50]Array of values to apply on the slider. Multiple values creates multiple handles. (note: A slider withrange property set can only have two values max)
minNumber0Minimum value for the slider
maxNumber100Maximum value for the slider
stepNumber1Everynth value to allow handle to stop at
rangeBoolean/StringfalseWhether to style as a range picker. Userange='min' orrange='max' for min/max variants
pushyBooleanfalseIfrange istrue, then this boolean decides if one handle will push the other along
floatBooleanfalseSet true to add a floating label above focussed handles
verticalBooleanfalseMake the slider render vertically
pipsBooleanfalseWhether to show pips/notches on the slider
pipstepNumber1/10/20Everynth step to show a pip for. This has multiple defaults depending onvalues property
firstBoolean/StringfalseWhether to show a pip or label for the first value on slider. Usefirst='label' to show a label value
lastBoolean/StringfalseWhether to show a pip or label for the last value on slider. Uselast='label' to show a label value
restBoolean/StringfalseWhether to show a pip or label for all other values. Userest='label' to show a label value
allBoolean/StringfalseWhether to show a pip or label for all values. Same as combiningfirst,last andrest. Useall='label' to show a label value
prefixString""A string to prefix to all displayed values
suffixString""A string to suffix to all displayed values
disabledBooleanfalseDetermine if the slider is disabled, or enabled(only disables interactions, and events)
formatterFunction(v) => vA function to re-format values before they are displayed
handleFormatterFunctionformatterA function to re-format values on the handle/float before they are displayed. Defaults to the same function given to theformatter property
springValuesObject{ stiffness: 0.15, damping: 0.4 }Svelte spring physics object to change the behaviour of the handle when moving

slider events (dispatched)

eventexampleevent.detaildescription
starton:start={(e) => { ... }}{ activeHandle: Integer, value: Float, values: Array }Event fired when the user begins interaction with the slider
changeon:change={(e) => { ... }}{ activeHandle: Integer, startValue: Float, previousValue: Float, value: Float, values: Array }Event fired when the user changes the value; returns the previous value, also
stopon:stop={(e) => { ... }}{ activeHandle: Integer, startValue: Float, value: Float, values: Array }Event fired when the user stops interacting with slider; returns the beginning value, also

📔📘📖Full Documentation & Examples

contribute

I am very happy to accept;

  • 🌟 suggestions/requests for new features or changes
  • 🛠 pull-requests for bug fixes, or issue resolution
  • 🧪 help with creating a proper test-suite

Read the CONTRIBUTING.md

About

Multi-Thumb, Accessible, Beautiful Range Slider with Pips

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Svelte89.3%
  • JavaScript7.1%
  • CSS2.5%
  • HTML1.1%

[8]ページ先頭

©2009-2025 Movatter.jp