Slider Widgetversion added: 1.5
Description: Drag a handle to select a numeric value.
The jQuery UI Slider plugin makes selected elements into sliders. There are various options such as multiple handles and ranges. The handle can be moved with the mouse or the arrow keys.
The slider widget will create handle elements with the class ui-slider-handle
on initialization. You can specify custom handle elements by creating and appending the elements and adding the ui-slider-handle
class before initialization. It will only create the number of handles needed to match the length of value
/values
. For example, if you specify values: [ 1, 5, 18 ]
and create one custom handle, the plugin will create the other two.
Additional Notes:
- This widget requires some functional CSS, otherwise it won't work. If you build a custom theme, use the widget's specific CSS file as a starting point.
Options
animateType: Boolean or String or Number
false
-
Boolean: When set to
true
, the handle will animate with the default duration. -
String: The name of a speed, such as
"fast"
or"slow"
. - Number: The duration of the animation, in milliseconds.
Initialize the slider with the animate option specified:
$( ".selector" ).slider({ animate: "fast" }); |
Get or set the animate option, after initialization:
// getter var animate = $( ".selector" ).slider( "option" , "animate" ); // setter $( ".selector" ).slider( "option" , "animate" , "fast" ); |
disabledType: Boolean
false
true
.Initialize the slider with the disabled option specified:
$( ".selector" ).slider({ disabled: true }); |
Get or set the disabled option, after initialization:
// getter var disabled = $( ".selector" ).slider( "option" , "disabled" ); // setter $( ".selector" ).slider( "option" , "disabled" , true ); |
maxType: Number
100
Initialize the slider with the max option specified:
$( ".selector" ).slider({ max: 50 }); |
Get or set the max option, after initialization:
// getter var max = $( ".selector" ).slider( "option" , "max" ); // setter $( ".selector" ).slider( "option" , "max" , 50 ); |
minType: Number
0
Initialize the slider with the min option specified:
$( ".selector" ).slider({ min: 10 }); |
Get or set the min option, after initialization:
// getter var min = $( ".selector" ).slider( "option" , "min" ); // setter $( ".selector" ).slider( "option" , "min" , 10 ); |
orientationType: String
"horizontal"
"horizontal"
, "vertical"
.Initialize the slider with the orientation option specified:
$( ".selector" ).slider({ orientation: "vertical" }); |
Get or set the orientation option, after initialization:
// getter var orientation = $( ".selector" ).slider( "option" , "orientation" ); // setter $( ".selector" ).slider( "option" , "orientation" , "vertical" ); |
rangeType: Boolean or String
false
-
Boolean: If set to
true
, the slider will detect if you have two handles and create a stylable range element between these two. -
String: Either
"min"
or"max"
. A min range goes from the slider min to one handle. A max range goes from one handle to the slider max.
Initialize the slider with the range option specified:
$( ".selector" ).slider({ range: true }); |
Get or set the range option, after initialization:
// getter var range = $( ".selector" ).slider( "option" , "range" ); // setter $( ".selector" ).slider( "option" , "range" , true ); |
stepType: Number
1
Initialize the slider with the step option specified:
$( ".selector" ).slider({ step: 5 }); |
Get or set the step option, after initialization:
// getter var step = $( ".selector" ).slider( "option" , "step" ); // setter $( ".selector" ).slider( "option" , "step" , 5 ); |
valueType: Number
0
Initialize the slider with the value option specified:
$( ".selector" ).slider({ value: 10 }); |
Get or set the value option, after initialization:
// getter var value = $( ".selector" ).slider( "option" , "value" ); // setter $( ".selector" ).slider( "option" , "value" , 10 ); |
valuesType: Array
null
range
option is set to true
, the length of values
should be 2.Initialize the slider with the values option specified:
$( ".selector" ).slider({ values: [ 10, 25 ] }); |
Get or set the values option, after initialization:
// getter var values = $( ".selector" ).slider( "option" , "values" ); // setter $( ".selector" ).slider( "option" , "values" , [ 10, 25 ] ); |
Methods
destroy()
- This method does not accept any arguments.
Invoke the destroy method:
$( ".selector" ).slider( "destroy" ); |
disable()
- This method does not accept any arguments.
Invoke the disable method:
$( ".selector" ).slider( "disable" ); |
enable()
- This method does not accept any arguments.
Invoke the enable method:
$( ".selector" ).slider( "enable" ); |
option( optionName )Returns: Object
optionName
.-
optionNameType: StringThe name of the option to get.
Invoke the method:
var isDisabled = $( ".selector" ).slider( "option" , "disabled" ); |
option()Returns: PlainObject
- This method does not accept any arguments.
Invoke the method:
var options = $( ".selector" ).slider( "option" ); |
option( optionName, value )
optionName
.-
optionNameType: StringThe name of the option to set.
-
valueType: ObjectA value to set for the option.
Invoke the method:
$( ".selector" ).slider( "option" , "disabled" , true ); |
option( options )
-
optionsType: ObjectA map of option-value pairs to set.
Invoke the method:
$( ".selector" ).slider( "option" , { disabled: true } ); |
value()Returns: Number
- This method does not accept any arguments.
Invoke the method:
var selection = $( ".selector" ).slider( "value" ); |
value( value )
-
valueType: NumberThe value to set.
Invoke the method:
$( ".selector" ).slider( "value" , 55 ); |
values()Returns: Array
- This method does not accept any arguments.
Invoke the method:
var values = $( ".selector" ).slider( "values" ); |
values( index )Returns: Number
-
indexType: IntegerThe zero-based index of the handle.
Invoke the method:
var value = $( ".selector" ).slider( "values" , 0 ); |
values( index, value )
Invoke the method:
$( ".selector" ).slider( "values" , 0, 55 ); |
values( values )
-
valuesType: ArrayThe values to set.
Invoke the method:
$( ".selector" ).slider( "values" , [ 55, 105 ] ); |
widget()Returns: jQuery
jQuery
object containing the slider.
- This method does not accept any arguments.
Invoke the widget method:
var widget = $( ".selector" ).slider( "widget" ); |
Events
change( event, ui )Type: slidechange
value
method.Initialize the slider with the change callback specified:
$( ".selector" ).slider({ change: function ( event, ui ) {} }); |
Bind an event listener to the slidechange event:
$( ".selector" ).on( "slidechange" , function ( event, ui ) {} ); |
create( event, ui )Type: slidecreate
Initialize the slider with the create callback specified:
$( ".selector" ).slider({ create: function ( event, ui ) {} }); |
Bind an event listener to the slidecreate event:
$( ".selector" ).on( "slidecreate" , function ( event, ui ) {} ); |
slide( event, ui )Type: slide
ui.value
represents the value that the handle will have as a result of the current movement. Canceling the event will prevent the handle from moving and the handle will continue to have its previous value.Initialize the slider with the slide callback specified:
$( ".selector" ).slider({ slide: function ( event, ui ) {} }); |
Bind an event listener to the slide event:
$( ".selector" ).on( "slide" , function ( event, ui ) {} ); |
start( event, ui )Type: slidestart
Initialize the slider with the start callback specified:
$( ".selector" ).slider({ start: function ( event, ui ) {} }); |
Bind an event listener to the slidestart event:
$( ".selector" ).on( "slidestart" , function ( event, ui ) {} ); |
stop( event, ui )Type: slidestop
Initialize the slider with the stop callback specified:
$( ".selector" ).slider({ stop: function ( event, ui ) {} }); |
Bind an event listener to the slidestop event:
$( ".selector" ).on( "slidestop" , function ( event, ui ) {} ); |
Example:
A simple jQuery UI Slider.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!doctype html> < html lang = "en" > < head > < meta charset = "utf-8" > < title >slider demo</ title > < style >#slider { margin: 10px; } </ style > </ head > < body > < div id = "slider" ></ div > < script > $( "#slider" ).slider(); </ script > </ body > </ html > |