拖动手柄来选择一个数值。

如需了解更多有关 slider 部件的细节,请查看 API 文档 滑块部件(Slider Widget)。

默认功能

基本的滑块是水平的,有一个单一的手柄,可以用鼠标或箭头键进行移动。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 默认功能</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><script>$(function() {$( "#slider" ).slider();});</script>
</head>
<body><div id="slider"></div></body>
</html>

颜色选择器

组合了三个滑块,来创建一个简单的 RGB 颜色选择器。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 颜色选择器</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><style>#red, #green, #blue {float: left;clear: left;width: 300px;margin: 15px;}#swatch {width: 120px;height: 100px;margin-top: 18px;margin-left: 350px;background-image: none;}#red .ui-slider-range { background: #ef2929; }#red .ui-slider-handle { border-color: #ef2929; }#green .ui-slider-range { background: #8ae234; }#green .ui-slider-handle { border-color: #8ae234; }#blue .ui-slider-range { background: #729fcf; }#blue .ui-slider-handle { border-color: #729fcf; }</style><script>function hexFromRGB(r, g, b) {var hex = [r.toString( 16 ),g.toString( 16 ),b.toString( 16 )];$.each( hex, function( nr, val ) {if ( val.length === 1 ) {hex[ nr ] = "0" + val;}});return hex.join( "" ).toUpperCase();}function refreshSwatch() {var red = $( "#red" ).slider( "value" ),green = $( "#green" ).slider( "value" ),blue = $( "#blue" ).slider( "value" ),hex = hexFromRGB( red, green, blue );$( "#swatch" ).css( "background-color", "#" + hex );}$(function() {$( "#red, #green, #blue" ).slider({orientation: "horizontal",range: "min",max: 255,value: 127,slide: refreshSwatch,change: refreshSwatch});$( "#red" ).slider( "value", 255 );$( "#green" ).slider( "value", 140 );$( "#blue" ).slider( "value", 60 );});</script>
</head>
<body class="ui-widget-content" style="border:0;"><p class="ui-state-default ui-corner-all ui-helper-clearfix" style="padding:4px;"><span class="ui-icon ui-icon-pencil" style="float:left; margin:-2px 5px 0 0;"></span>简单的颜色选择器
</p><div id="red"></div>
<div id="green"></div>
<div id="blue"></div><div id="swatch" class="ui-widget-content ui-corner-all"></div></body>
</html>

多个滑块

组合水平的和垂直的滑块,每个都带有各自的选项,来创建一个音乐播放器的 UI。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 多个滑块</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><style>#eq span {height:120px; float:left; margin:15px}</style><script>$(function() {// 设置主音量$( "#master" ).slider({value: 60,orientation: "horizontal",range: "min",animate: true});// 设置图形均衡器$( "#eq > span" ).each(function() {// 从标记读取初始值并删除var value = parseInt( $( this ).text(), 10 );$( this ).empty().slider({value: value,range: "min",animate: true,orientation: "vertical"});});});</script>
</head>
<body><p class="ui-state-default ui-corner-all ui-helper-clearfix" style="padding:4px;"><span class="ui-icon ui-icon-volume-on" style="float:left; margin:-2px 5px 0 0;"></span>主音量
</p><div id="master" style="width:260px; margin:15px;"></div><p class="ui-state-default ui-corner-all" style="padding:4px;margin-top:4em;"><span class="ui-icon ui-icon-signal" style="float:left; margin:-2px 5px 0 0;"></span>图形均衡器
</p><div id="eq"><span>88</span><span>77</span><span>55</span><span>33</span><span>40</span><span>45</span><span>70</span>
</div></body>
</html>

范围滑块

设置 range 选项为 true,来获取带有两个拖拽手柄的值的范围。手柄之间的控件用不同的背景颜色填充来表示该区间的值是可选择的。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 范围滑块</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><script>$(function() {$( "#slider-range" ).slider({range: true,min: 0,max: 500,values: [ 75, 300 ],slide: function( event, ui ) {$( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );}});$( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +" - $" + $( "#slider-range" ).slider( "values", 1 ) );});</script>
</head>
<body><p><label for="amount">价格范围:</label><input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;">
</p><div id="slider-range"></div></body>
</html>

带有固定最大值的范围

固定范围滑块的最大值,用户只能选择最小值。设置 range 选项为 "max"。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 带有固定最大值的范围</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><script>$(function() {$( "#slider-range-max" ).slider({range: "max",min: 1,max: 10,value: 2,slide: function( event, ui ) {$( "#amount" ).val( ui.value );}});$( "#amount" ).val( $( "#slider-range-max" ).slider( "value" ) );});</script>
</head>
<body><p><label for="amount">最小的房间数量:</label><input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;">
</p>
<div id="slider-range-max"></div></body>
</html>

带有固定最小值的范围

固定范围滑块的最小值,用户只能选择最大值。设置 range 选项为 "min"。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 带有固定最小值的范围</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><script>$(function() {$( "#slider-range-min" ).slider({range: "min",value: 37,min: 1,max: 700,slide: function( event, ui ) {$( "#amount" ).val( "$" + ui.value );}});$( "#amount" ).val( "$" + $( "#slider-range-min" ).slider( "value" ) );});</script>
</head>
<body><p><label for="amount">最大价格:</label><input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;">
</p><div id="slider-range-min"></div></body>
</html>

绑定到 select 的滑块

如何绑定一个滑块到一个已有的 select 元素。选择保持可见以便显示变化。当选择改变时,同时更新滑块。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 绑定到 select 的滑块</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><script>$(function() {var select = $( "#minbeds" );var slider = $( "<div id='slider'></div>" ).insertAfter( select ).slider({min: 1,max: 6,range: "min",value: select[ 0 ].selectedIndex + 1,slide: function( event, ui ) {select[ 0 ].selectedIndex = ui.value - 1;}});$( "#minbeds" ).change(function() {slider.slider( "value", this.selectedIndex + 1 );});});</script>
</head>
<body><form id="reservation"><label for="minbeds">最小的床位数</label><select name="minbeds" id="minbeds"><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option></select>
</form></body>
</html>

滑块滚动条

使用滑块来操作页面上内容的定位。本实例中,它是一个能获取值的滚动条。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 滑块滚动条</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><style>.scroll-pane { overflow: auto; width: 99%; float:left; }.scroll-content { width: 2440px; float: left; }.scroll-content-item { width: 100px; height: 100px; float: left; margin: 10px; font-size: 3em; line-height: 96px; text-align: center; }.scroll-bar-wrap { clear: left; padding: 0 4px 0 2px; margin: 0 -1px -1px -1px; }.scroll-bar-wrap .ui-slider { background: none; border:0; height: 2em; margin: 0 auto;  }.scroll-bar-wrap .ui-handle-helper-parent { position: relative; width: 100%; height: 100%; margin: 0 auto; }.scroll-bar-wrap .ui-slider-handle { top:.2em; height: 1.5em; }.scroll-bar-wrap .ui-slider-handle .ui-icon { margin: -8px auto 0; position: relative; top: 50%; }</style><script>$(function() {//滚动面板部分var scrollPane = $( ".scroll-pane" ),scrollContent = $( ".scroll-content" );//创建滑块var scrollbar = $( ".scroll-bar" ).slider({slide: function( event, ui ) {if ( scrollContent.width() > scrollPane.width() ) {scrollContent.css( "margin-left", Math.round(ui.value / 100 * ( scrollPane.width() - scrollContent.width() )) + "px" );} else {scrollContent.css( "margin-left", 0 );}}});//追加要处理的图标var handleHelper = scrollbar.find( ".ui-slider-handle" ).mousedown(function() {scrollbar.width( handleHelper.width() );}).mouseup(function() {scrollbar.width( "100%" );}).append( "<span class='ui-icon ui-icon-grip-dotted-vertical'></span>" ).wrap( "<div class='ui-handle-helper-parent'></div>" ).parent();//由于滑块手柄滚动,改变要隐藏的溢出部分scrollPane.css( "overflow", "hidden" );//根据要滚动距离按比例定义滚动条和手柄的尺寸function sizeScrollbar() {var remainder = scrollContent.width() - scrollPane.width();var proportion = remainder / scrollContent.width();var handleSize = scrollPane.width() - ( proportion * scrollPane.width() );scrollbar.find( ".ui-slider-handle" ).css({width: handleSize,"margin-left": -handleSize / 2});handleHelper.width( "" ).width( scrollbar.width() - handleSize );}//基于滚动内容位置,重置滑块的值function resetValue() {var remainder = scrollPane.width() - scrollContent.width();var leftVal = scrollContent.css( "margin-left" ) === "auto" ? 0 :parseInt( scrollContent.css( "margin-left" ) );var percentage = Math.round( leftVal / remainder * 100 );scrollbar.slider( "value", percentage );}//如果滑块是 100%,且窗口变大,则显示内容function reflowContent() {var showing = scrollContent.width() + parseInt( scrollContent.css( "margin-left" ), 10 );var gap = scrollPane.width() - showing;if ( gap > 0 ) {scrollContent.css( "margin-left", parseInt( scrollContent.css( "margin-left" ), 10 ) + gap );}}//当缩放窗口时改变手柄的位置$( window ).resize(function() {resetValue();sizeScrollbar();reflowContent();});//初始化滚动条大小setTimeout( sizeScrollbar, 10 );//safari 超时});</script>
</head>
<body><div class="scroll-pane ui-widget ui-widget-header ui-corner-all"><div class="scroll-content"><div class="scroll-content-item ui-widget-header">1</div><div class="scroll-content-item ui-widget-header">2</div><div class="scroll-content-item ui-widget-header">3</div><div class="scroll-content-item ui-widget-header">4</div><div class="scroll-content-item ui-widget-header">5</div><div class="scroll-content-item ui-widget-header">6</div><div class="scroll-content-item ui-widget-header">7</div><div class="scroll-content-item ui-widget-header">8</div><div class="scroll-content-item ui-widget-header">9</div><div class="scroll-content-item ui-widget-header">10</div><div class="scroll-content-item ui-widget-header">11</div><div class="scroll-content-item ui-widget-header">12</div><div class="scroll-content-item ui-widget-header">13</div><div class="scroll-content-item ui-widget-header">14</div><div class="scroll-content-item ui-widget-header">15</div><div class="scroll-content-item ui-widget-header">16</div><div class="scroll-content-item ui-widget-header">17</div><div class="scroll-content-item ui-widget-header">18</div><div class="scroll-content-item ui-widget-header">19</div><div class="scroll-content-item ui-widget-header">20</div></div><div class="scroll-bar-wrap ui-widget-content ui-corner-bottom"><div class="scroll-bar"></div></div>
</div></body>
</html>

对齐增量

通过把 step 选项设置为一个整数来设置滑块值的增量,通常是滑块最大值的除数。默认增量是 1。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 对齐增量</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><script>$(function() {$( "#slider" ).slider({value:100,min: 0,max: 500,step: 50,slide: function( event, ui ) {$( "#amount" ).val( "$" + ui.value );}});$( "#amount" ).val( "$" + $( "#slider" ).slider( "value" ) );});</script>
</head>
<body><p><label for="amount">捐款金额($50 增量):</label><input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;">
</p><div id="slider"></div></body>
</html>

垂直的范围滑块

改变范围滑块的方向为垂直的。通过 .height() 分配一个高度值,或通过 CSS 设置高度,同时设置 orientation 选项为 "vertical"。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 垂直的范围滑块</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><script>$(function() {$( "#slider-range" ).slider({orientation: "vertical",range: true,values: [ 17, 67 ],slide: function( event, ui ) {$( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );}});$( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +" - $" + $( "#slider-range" ).slider( "values", 1 ) );});</script>
</head>
<body><p><label for="amount">销售目标(百万):</label><input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;">
</p><div id="slider-range" style="height:250px;"></div></body>
</html>

垂直的滑块

改变滑块的方向为垂直的。通过 .height() 分配一个高度值,或通过 CSS 设置高度,同时设置 orientation 选项为 "vertical"。

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 滑块(Slider) - 垂直的滑块</title><link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"><script src="//code.jquery.com/jquery-1.9.1.js"></script><script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script><link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"><script>$(function() {$( "#slider-vertical" ).slider({orientation: "vertical",range: "min",min: 0,max: 100,value: 60,slide: function( event, ui ) {$( "#amount" ).val( ui.value );}});$( "#amount" ).val( $( "#slider-vertical" ).slider( "value" ) );});</script>
</head>
<body><p><label for="amount">体积:</label><input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;">
</p><div id="slider-vertical" style="height:200px;"></div></body>
</html>

jQuery UI 实例 - 滑块(Slider)相关推荐

  1. jQuery UI应用--滑块Slider

    1.            Animate: 类型Boolean 默认值false a)     用处:单击滑动区域时,滑块是否使用动画效果平滑移动到单击位置. b)     代码示例: 创建实例时设 ...

  2. html 隐藏hide,jQuery UI 实例

    jQuery UI 实例 - 隐藏(Hide) 使用自定义效果来隐藏匹配的元素. 如需了解更多有关 .hide() 方法的细节,请查看 API 文档 .hide(). .hide() 演示 点击按钮预 ...

  3. 利用Element UI的滑块Slider实现刻度尺

    一.效果图 二.一些要点说明 ①首先需要了解slider的一些参数,尤其需要利用marks来实现刻度: ②实现marks的方法需要用到this.$createElement,所以也需要了解它的写法:t ...

  4. jquery ui放大缩小_jQuery UI 实例

    jQuery UI 实例 - 缩放(Resizable) 使用鼠标改变元素的尺寸. 如需了解更多有关 resizable 交互的细节,请查看 API 文档 可调整尺寸小部件(Resizable Wid ...

  5. w3cschool教程之jQuery UI 教程概述

    w3cschool教程之jQuery UI 教程概述 链接地址: http://www.w3cschool.cc/jqueryui/jqueryui-tutorial.html w3cschool教程 ...

  6. jQuery UI(三十八)

    jQuery UI 实例 - 对话框(Dialog) 在一个交互覆盖层中打开内容. 如需了解更多有关 dialog 部件的细节,请查看 API 文档 对话框部件(Dialog Widget). 默认功 ...

  7. jquery slider_使用jQuery UI Slider创建音量控制器

    如果您是免费赠品猎人,那么您可能已经下载了许多PSD 用户界面 (UI). 其中一些确实很棒,可以通过原型设计来节省我们的时间. 在本文中,我们将对PSD UI进行编码,并将其转变为更具功能性的东西. ...

  8. 第四十四课:jQuery UI和jQuery easy UI

    jQuery UI是jQuery官方提供的功能效果和UI样式.作为官方出的东西,它一直没有被人们看重,一是它没有datagrid,tree等UI库必备的东西,二是它修改太过频繁,体积庞大.其实它所有以 ...

  9. JQUERY插件学习之jQuery UI

    jQuery UI:http://jqueryui.com/ jQuery UI介绍: jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互 ...

最新文章

  1. linux yum安装mysql 5.6_linux yum安装MySQL5.6
  2. MongoDB权威指南
  3. Cakephp事件机制尝鲜
  4. Java Web笔记之Struts2.1 +Hibernate3.3 +Spring3.0
  5. Spring核心知识
  6. 如何保证数据最终一致性(分布式事务)
  7. C程序中如何区分windowsx86,x64
  8. 2021年最想学习的五大编程语言
  9. 维纳滤波的详细讲解(同为小白,相互取暖)
  10. 北大中文核心期刊目录(2004年版)全文
  11. Linux之执行一个可执行文件
  12. 浏览器引擎系列:Webkit
  13. 点歌APP开发解决方案详解
  14. Git 单文件上传大小限制
  15. 业务流程管理包括什么
  16. ActiveX控件属性的下拉列表
  17. iOS底层原理之架构设计
  18. 【算法 | 实验18】在字符矩阵中查找给定字符串的所有匹配项
  19. 启动(程序还没执行生成dump文件的代码)就崩溃的处理流程
  20. Web前端 | HTML表单form

热门文章

  1. docker 安装mysql8.0并且暴漏外部的连接
  2. HC-SR505人体红外报警系统
  3. 如何打造高端的数据报表?
  4. Prompt是什么意思?
  5. python中英文古风排版_ET(CAD)-中国风复古女唐装制版教程04
  6. 【青少年编程】【二级】绘制五彩缤纷的多瓣花
  7. POJ 1463 入门树dp Strategic game
  8. python个人数据脱敏_数据脱敏的处理方法及查询
  9. ie vue报Unhandled promise rejection ReferenceError
  10. 盈余贝分享网赚项目的思维和观念