- JqueryUI 教程
- JqueryUI - 主页
- JqueryUI - 概述
- JqueryUI - 环境设置
- JqueryUI 小部件
- JqueryUI - 手风琴
- JqueryUI - 自动完成
- JqueryUI - 按钮
- JqueryUI - 日期选择器
- JqueryUI - 对话框
- JqueryUI - 菜单
- JqueryUI - 进度条
- JqueryUI - 滑块
- JqueryUI - 微调器
- JqueryUI - 选项卡
- JqueryUI - 工具提示
- JqueryUI 效果
- JqueryUI - 添加类
- JqueryUI - 彩色动画
- JqueryUI - 效果
- JqueryUI - 隐藏
- JqueryUI - 删除类
- JqueryUI - 显示
- JqueryUI - 切换类
- JqueryUI - 切换
- JqueryUI - 切换类
- JqueryUI 实用程序
- JqueryUI - 位置
- JqueryUI - 部件工厂
- JqueryUI 有用的资源
- JqueryUI - 快速指南
- JqueryUI - 有用的资源
- JqueryUI - 讨论
JqueryUI - 微调器
Spinner 小部件在输入框的左侧添加了一个向上/向下箭头,从而允许用户增加/减少输入框中的值。它允许用户直接键入值,或通过使用键盘、鼠标或滚轮旋转来修改现有值。它还具有跳过值的步骤功能。除了基本的数字功能外,它还支持全球化格式选项(即货币、千位分隔符、小数等),从而提供方便的国际化屏蔽输入框。
以下示例取决于Globalize。您可以从https://github.com/jquery/globalize获取 Globalize 文件。单击发布链接,选择所需版本,然后下载.zip或tar.gz文件。解压文件并将以下文件复制到示例所在的文件夹中。
lib/globalize.js :该文件包含用于处理本地化的 Javascript 代码
lib/globalize.culture.js :此文件包含 Globalize 库附带的一整套语言环境。
这些文件也存在于jquery-ui 库的外部文件夹中。
jQueryUI 提供了 spinner() 方法来创建旋转器。
句法
spinner ()方法可以以两种形式使用 -
$(选择器,上下文).spinner(选项)方法
spinner (options)方法声明 HTML 元素及其内容应作为 spinner 进行处理和管理。options参数是一个对象,指定所涉及的微调器元素的外观和Behave。
句法
$(selector, context).spinner (options);
您可以使用 Javascript 对象一次提供一个或多个选项。如果要提供多个选项,那么您将使用逗号分隔它们,如下所示 -
$(selector, context).spinner({option1: value1, option2: value2..... });
下表列出了可以与此方法一起使用的不同选项-
先生。 | 选项和说明 |
---|---|
1 | 文化
此选项设置用于解析和格式化值的区域性。默认情况下,其值为null,这意味着使用 Globalize 中当前设置的区域性。 |
2 | 残疾人
如果设置为true,此选项将禁用微调器。默认情况下它的值为false。 |
3 | 图标
此选项设置用于按钮的图标,与jQuery UI CSS Framework提供的图标相匹配。默认情况下,其值为{ down: "ui-icon-triangle-1-s", up: "ui-icon-triangle-1-n" }。 |
4 | 增加的
此选项控制按住旋转按钮时所采取的步数。默认情况下它的值为true。 |
5 | 最大限度
该选项指示最大允许值。默认情况下,其值为null,这意味着没有强制执行的最大值。 |
6 | 分钟
该选项指示最小允许值。默认情况下,其值为null,这意味着没有强制执行最小值。 |
7 | 数字格式
此选项指示传递给Globalize的数字格式 (如果可用)。最常见的是“n”表示十进制数,“C”表示货币值。默认情况下它的值为null。 |
8 | 页
此选项指示通过 pageUp/pageDown 方法进行分页时要采取的步骤数。默认情况下其值为10。 |
9 | 步
此选项指示通过按钮或通过stepUp()/stepDown()方法旋转时要采取的步长大小。如果元素的step属性存在并且未显式设置该选项,则使用该属性。 |
以下部分将向您展示微调器小部件功能的一些工作示例。
默认功能
以下示例演示了 spinner 小部件功能的简单示例,未向spinner()方法传递任何参数。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Spinner functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style type = "text/css"> #spinner-1 input {width: 100px} </style> <!-- Javascript --> <script> $(function() { $( "#spinner-1" ).spinner(); }); </script> </head> <body> <!-- HTML --> <div id = "example"> <input type = "text" id = "spinner-1" value = "0" /> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件spinnerexample.htm中,并在支持 javascript 的标准浏览器中打开它,您还必须看到以下输出。现在,您可以使用结果 -
使用最小、最大和步长选项
下面的示例演示了JqueryUI 的 spinner 小部件中三个选项min、max和step的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Spinner functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style type = "text/css"> #spinner-2,#spinner-3 input {width: 100px} </style> <!-- Javascript --> <script> $(function() { $( "#spinner-2" ).spinner({ min: -10, max: 10 }); $('#spinner-3').spinner({ step: 100, min: -1000000, max: 1000000 }); }); </script> </head> <body> <!-- HTML --> <div id = "example"> Spinner Min, Max value set: <input type = "text" id = "spinner-2" value = "0" /><br><br> Spinner increments/decrements in step of of 100: <input type = "text" id = "spinner-3" value = "0" /> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件spinnerexample.htm中,并在支持 javascript 的标准浏览器中打开它,您还必须看到以下输出。现在,您可以使用结果 -
在上面的示例中,您可以看到在第一个微调器中,最大值和最小值分别设置为 10 和 -10。因此,超过这些值时,微调器将停止递增/递减。在第二个微调器中,微调器值以 100 为步长递增/递减。
使用图标选项
以下示例演示了JqueryUI 的微调器小部件中选项图标的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Spinner functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style type = "text/css"> #spinner-5 input {width: 100px} </style> <!-- Javascript --> <script> $(function() { $( "#spinner-5" ).spinner({ icons: { down: "custom-down-icon", up: "custom-up-icon" } }); }); </script> </head> <body> <!-- HTML --> <div id = "example"> <input type = "text" id = "spinner-5" value = "0" /> </div> </body> </html>
让我们将上面的代码保存在 HTML 文件spinnerexample.htm中,并在支持 javascript 的标准浏览器中打开它,您还必须看到以下输出。现在,您可以使用结果 -
在上面的示例中,您可以注意到图像微调器发生了变化。
使用区域性、数字格式和页面选项
以下示例演示了JqueryUI 的 spinner 小部件中三个选项Culture、numberFormat和page的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Spinner functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <script src = "/jqueryui/jquery-ui-1.10.4/external/jquery.mousewheel.js"></script> <script src = "/jqueryui/jquery-ui-1.10.4/external/globalize.js"></script> <script src = "/jqueryui/jquery-ui-1.10.4/external/globalize.culture.de-DE.js"></script> <script> $(function() { $( "#spinner-4" ).spinner({ culture:"de-DE", numberFormat:"C", step:2, page:10 }); }); </script> </head> <body> <p> <label for = "spinner-4">Amount to donate:</label> <input id = "spinner-4" name = "spinner" value = "5"> </p> </body> </html>
让我们将上面的代码保存在 HTML 文件spinnerexample.htm中,并在支持 javascript 的标准浏览器中打开它,您还必须看到以下输出。现在,您可以使用结果 -
在上面的示例中,您可以看到微调器以货币格式显示数字,因为 numberFormat设置为“C”并且区域性设置为“de-DE”。这里我们使用了 jquery-ui 库中的 Globalize 文件。
$(selector, context).spinner("action", params) 方法
spinner ("action", params)方法可以对微调器元素执行操作,例如启用/禁用微调器。该操作被指定为第一个参数中的字符串(例如,“disable”禁用微调器)。查看下表中可以通过的操作。
句法
$(selector, context).spinner ("action", params);;
下表列出了可以与此方法一起使用的不同操作-
先生。 | 动作与描述 |
---|---|
1 | 破坏
此操作完全破坏了元素的微调器功能。元素返回到其初始化前的状态。此方法不接受任何参数。 |
2 | 禁用
此操作会禁用微调器功能。此方法不接受任何参数。 |
3 | 使能够
此操作启用微调器功能。此方法不接受任何参数。 |
4 | 选项(选项名称)
此操作获取当前与指定optionName关联的值。其中optionName是要获取的选项的名称。 |
5 | 选项
此操作获取一个对象,其中包含表示当前微调器选项哈希的键/值对。此方法不接受任何参数。 |
6 | 选项(选项名称,值)
此操作设置与指定optionName关联的微调器选项的值。 |
7 | 选项(选项)
此操作为微调器设置一个或多个选项。 |
8 | pageDown( [页数 ] )
此操作会将值减少指定的页数(如页面选项所定义)。 |
9 | pageUp( [页数 ] )
此操作按页面选项定义的指定页数递增该值。 |
10 | 下步([步数])
此操作会将值减少指定的步数。 |
11 | 向上([步数])
此操作会将值增加指定的步数。 |
12 | 价值
此操作获取数字形式的当前值。该值是根据 numberFormat 和区域性选项进行解析的。此方法不接受任何参数。 |
13 | 值(值)
此操作设置值。如果传递值,则根据 numberFormat 和区域性选项解析值。 |
14 | 小部件
此操作返回微调器小部件元素;用ui-spinner类名注释的一个。 |
以下示例演示了如何使用上表中给出的操作。
使用操作 stepUp、stepDown、pageUp 和 pageDown
以下示例演示了stepUp、stepDown、pageUp和pageDown方法的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Spinner functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style type = "text/css"> #spinner-6 input {width: 100px} </style> <!-- Javascript --> <script> $(function() { $("#spinner-6").spinner(); $('button').button(); $('#stepUp-2').click(function () { $("#spinner-6").spinner("stepUp"); }); $('#stepDown-2').click(function () { $("#spinner-6").spinner("stepDown"); }); $('#pageUp-2').click(function () { $("#spinner-6").spinner("pageUp"); }); $('#pageDown-2').click(function () { $("#spinner-6").spinner("pageDown"); }); }); </script> </head> <body> <!-- HTML --> <input id = "spinner-6" /> <br/> <button id = "stepUp-2">Increment</button> <button id = "stepDown-2">Decrement</button> <button id = "pageUp-2">Increment Page</button> <button id = "pageDown-2">Decrement Page</button> </body> </html>
让我们将上面的代码保存在 HTML 文件spinnerexample.htm中,并在支持 JavaScript 的标准浏览器中打开它,您还必须看到以下输出 -
在上面的示例中,使用相应的按钮来增加/减少微调器。
使用动作启用和禁用
以下示例演示了启用和禁用方法的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Spinner functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style type = "text/css"> #spinner-7 input {width: 100px} </style> <!-- Javascript --> <script> $(function() { $("#spinner-7").spinner(); $('button').button(); $('#stepUp-3').click(function () { $("#spinner-7").spinner("enable"); }); $('#stepDown-3').click(function () { $("#spinner-7").spinner("disable"); }); }); </script> </head> <body> <!-- HTML --> <input id = "spinner-7" /> <br/> <button id = "stepUp-3">Enable</button> <button id = "stepDown-3">Disable</button> </body> </html>
让我们将上面的代码保存在 HTML 文件spinnerexample.htm中,并在支持 javascript 的标准浏览器中打开它,您还必须看到以下输出 -
在上面的示例中,使用启用/禁用按钮来启用或禁用微调器。
旋转器元素的事件管理
除了我们在前面几节中看到的 spinner(选项)方法之外,JqueryUI 还提供了针对特定事件触发的事件方法。下面列出了这些事件方法 -
先生。 | 活动方式及说明 |
---|---|
1 | 更改(事件,用户界面)
当微调器的值发生更改且输入不再聚焦时,会触发此事件。 |
2 | 创建(事件,用户界面)
创建微调器时会触发此事件。 |
3 | 自旋(事件,用户界面)
该事件在递增/递减期间触发。 |
4 | 开始(事件,用户界面)
该事件在旋转之前触发。可以取消,防止旋转发生。 |
5 | 停止(事件,用户界面)
该事件在旋转后触发。 |
例子
以下示例演示了微调器小部件中事件方法的用法。此示例演示了旋转、更改和停止事件的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Spinner functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style type = "text/css"> #spinner-8 input {width: 100px} </style> <!-- Javascript --> <script> $(function() { $( "#spinner-8" ).spinner({ spin: function( event, ui ) { var result = $( "#result-2" ); result.append( "Spin Value: "+$( "#spinner-8" ).spinner("value") ); }, change: function( event, ui ) { var result = $( "#result-2" ); result.append( "Change value: "+$( "#spinner-8" ).spinner("value") ); }, stop: function( event, ui ) { var result = $( "#result-2" ); result.append( "Stop value: "+$( "#spinner-8" ).spinner("value") ); } }); }); </script> </head> <body> <!-- HTML --> <div id = "example"> <input type = "text" id = "spinner-8" value = "0" /> </div> <span id = "result-2"></span> </body> </html>
让我们将上面的代码保存在 HTML 文件spinnerexample.htm中,并在支持 javascript 的标准浏览器中打开它,您还必须看到以下输出 -
在上面的示例中,更改微调器的值,然后查看下面显示的有关旋转和停止事件的消息。现在更改微调器的焦点,您会看到更改事件上显示一条消息。
扩展点
微调器小部件是使用小部件工厂构建的,并且可以扩展。要扩展小部件,我们可以覆盖或添加现有方法的Behave。以下方法提供了与微调器方法具有相同 API 稳定性的扩展点。列于上表。
先生。 | 方法及说明 |
---|---|
1 | _buttonHtml(事件)
该方法返回一个 HTML 字符串。此 HTML 可用于微调器的递增和递减按钮。每个按钮都必须有一个 ui-spinner-button 类名,关联事件才能工作。此方法不接受任何参数。 |
2 | _uiSpinnerHtml(事件)
此方法确定用于包装微调器的 <input> 元素的 HTML。此方法不接受任何参数。 |
jQuery UI Widget Factory 是一个可扩展的基础,所有 jQuery UI 的小部件都是在此基础上构建的。使用小部件工厂构建插件为状态管理提供了便利,并为常见任务(例如公开插件方法和实例化后更改选项)提供了约定。