拖动手柄来选择一个数值。
jQuery UI 滑块(Slider)插件允许通过滑块进行选择。有各种不同的选项,比如多个手柄和范围。手柄可通过鼠标或箭头按键进行移动。
滑块部件(Slider Widget)会在初始化时创建带有 class ui-slider-handle
的手柄元素。您可以通过在初始化之前创建并追加元素,同时向元素添加 ui-slider-handle
class 来指定自定义的手柄元素。它只会创建匹配 value
/values
长度所需的数量的手柄。例如,如果您指定 values: [ 1, 5, 18 ]
,且创建一个自定义手柄,插件将创建其他两个。
主题化
滑块部件(Slider Widget)使用 jQuery UI CSS 框架 来定义它的外观和感观的样式。如果需要使用滑块指定的样式,则可以使用下面的 CSS class 名称:
ui-slider
:滑块控件的轨道。该元素会根据滑块的orientation
另外带有一个ui-slider-horizontal
或ui-slider-vertical
class。ui-slider-handle
:滑块手柄。ui-slider-range
:当设置range
选项时使用的已选范围。如果range
选项设置为"min"
或"max"
,则该元素会分别另外带有一个ui-slider-range-min
或ui-slider-range-max
class。
依赖
附加说明
- 该部件要求一些功能性的 CSS,否则将无法工作。如果您创建了一个自定义的主题,请使用小部件指定的 CSS 文件作为起点。
快速导航
Options
- animate:当用户单击滑块轨道时是否平稳地滑动手柄。 也可以接受任何有效的动画持续时间。
- disabled:如果设置为
true
,则禁用滑块。 - max:滑块的最大值。
- min:滑块的最小值
- orientation:确定滑块手柄 将 水平(最小在左,最大在右)或垂直(最小在底部,最大在顶部)移动。(注:就是滑块的方向,横向或纵向)可能的值:
"horizontal"
(横向),"vertical"
(纵向)。 - range:滑块是否表现为一个范围。
- step:定义slider从最小值移动到最大值的单位步长。在这个指定范围(最小值到最大值)内的值需要能被范围整除。
- value:如果只有一个手柄则是指定slider的value值。 如果有多余一个的操作柄, 则是定义第一个操作柄的value值。
- values:这个选项可以用来为多个操作柄设定value值. 如果
range
设置为true
, 'values' 的长度最少应为 2。
Methods
- destroy():完全销毁滑块组件的功能,这将使元素返回它的初始状态。
- disable():禁用滑块组件。
- enable():启用滑块组件。
- option():获取设置与
optionName
对应的选项值。 - value():获取或设置滑块组件的值。
- values():获取或设置所有手柄的值.(注:适用于多手柄的滑块)
- widget():返回一个滑块元素的
jQuery
对象。
Events
- change( event, ui ):当用户滑动一个手柄后,如果滑块的值改变了,就会触发这个事件;或者通过
value
方法改变手柄值。 - create( event, ui ):当滑块组件被创建时触发。
- slide( event, ui ):这个事件鼠标滑动滑块时触发。
ui.value
作为提供给事件的价值,表示将作为该当前移动手柄的结果值。 取消该事件会阻止手柄移动和手柄将继续其先前的值。取消该事件会阻止手柄移动并且手柄将继续其先前的值。 - start( event, ui ):当用户开始滑动滑块时触发。
- stop( event, ui ):当用户滑动滑块后触发。
实例
一个简单的 jQuery UI 滑块(Slider)。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>滑块部件(Slider Widget)演示</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <style>#slider { margin: 10px; } </style> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> </head> <body> <div id="slider"></div> <script> $( "#slider" ).slider(); </script> </body> </html>