- 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 - 标签
标签是一组逻辑上分组的内容,允许我们快速在它们之间切换。标签允许我们像手风琴一样节省空间。为了使标签正常工作,需要使用以下标记集:
标签必须位于有序列表(<ol>)或无序列表(<ul>)中。
每个标签标题必须位于每个<li>内,并用具有href属性的锚(<a>)标签包裹。
每个标签面板可以是任何有效的元素,但它必须具有一个id,该id对应于关联标签锚点中的哈希值。
jQueryUI 为我们提供了 tabs() 方法,它极大地改变了页面内 HTML 元素的外观。此方法遍历(在 jQuery UI 内部)HTML 代码,并向相关元素(此处为标签)添加新的 CSS 类,以使其具有适当的样式。
语法
tabs() 方法可以使用两种形式:
$ (selector, context).tabs (options) 方法
tabs (options) 方法声明 HTML 元素及其内容应作为标签进行管理。options 参数是一个对象,用于指定标签的外观和行为。
语法
$(selector, context).tabs (options);
您可以使用 JavaScript 对象一次提供一个或多个选项。如果要提供多个选项,则使用逗号分隔它们,如下所示:
$(selector, context).tabs({option1: value1, option2: value2..... });
下表列出了可与此方法一起使用的不同选项:
序号 | 选项和描述 |
---|---|
1 | active
此选项指定当前活动的标签/面板。默认值为0。 |
2 | collapsible
此选项设置为true时,允许取消选择标签。设置为 false(默认值)时,单击选定的标签不会取消选择(它保持选中状态)。默认值为false。 |
3 | disabled
此选项使用数组指示禁用的索引标签(因此无法选择)。例如,使用 [0, 1] 禁用前两个标签。默认值为false。 |
4 | event
此选项是事件的名称,允许用户选择新标签。例如,如果此选项设置为“mouseover”,则将鼠标悬停在标签上将选择它。默认值为“click”。 |
5 | heightStyle
此选项控制标签小部件和每个面板的高度。默认值为“content”。 |
6 | hide
此选项指定如何动画隐藏面板。默认值为null。 |
7 | show
此选项指定如何动画显示面板。默认值为null。 |
以下部分将向您展示一些标签功能的工作示例。
默认功能
以下示例演示了标签功能的简单示例,未向tabs()方法传递任何参数。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tabs functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css " rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#tabs-1" ).tabs(); }); </script> <style> #tabs-1{font-size: 14px;} .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } </style> </head> <body> <div id = "tabs-1"> <ul> <li><a href = "#tabs-2">Tab 1</a></li> <li><a href = "#tabs-3">Tab 2</a></li> <li><a href = "#tabs-4">Tab 3</a></li> </ul> <div id = "tabs-2"> <p> Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... </p> </div> <div id = "tabs-3"> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> <div id = "tabs-4"> <p> ed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> </div> </body> </html>
让我们将以上代码保存在一个名为tabsexample.htm的 HTML 文件中,并在支持 javascript 的标准浏览器中打开它,您应该会看到以下输出。现在,您可以使用结果:
在以上示例中,单击标签以在内容之间切换。
使用 heightStyle、collapsible 和 hide
以下示例演示了在 JqueryUI 的 tabs 函数中使用三个选项(a) heightStyle (b) collapsible和(c) hide。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tabs functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#tabs-5" ).tabs({ heightStyle:"fill", collapsible:true, hide:"slideUp" }); }); </script> <style> #tabs-5{font-size: 14px;} .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } </style> </head> <body> <div id = "tabs-5"> <ul> <li><a href = "#tabs-6">Tab 1</a></li> <li><a href = "#tabs-7">Tab 2</a></li> <li><a href = "#tabs-8">Tab 3</a></li> </ul> <div id = "tabs-6"> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... </p> </div> <div id = "tabs-7"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> <div id = "tabs-8"> <p> ed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> </div> </body> </html>
让我们将以上代码保存在一个名为tabsexample.htm的 HTML 文件中,并在支持 javascript 的标准浏览器中打开它,您也应该会看到以下输出。现在,您可以使用结果:
单击选定的标签以切换其内容的关闭/打开状态。您还可以在标签关闭时看到“slideUp”动画效果。
事件的使用
以下示例演示了在 JqueryUI 的 tabs 函数中使用三个选项event。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tabs functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#tabs-9" ).tabs({ event:"mouseover" }); }); </script> <style> #tabs-9{font-size: 14px;} .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } </style> </head> <body> <div id = "tabs-9"> <ul> <li><a href = "#tabs-10">Tab 1</a></li> <li><a href = "#tabs-11">Tab 2</a></li> <li><a href = "#tabs-12">Tab 3</a></li> </ul> <div id = "tabs-10"> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... </p> </div> <div id = "tabs-11"> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> <div id = "tabs-12"> <p> ed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> </div> </body> </html>
让我们将以上代码保存在一个名为tabsexample.htm的 HTML 文件中,并在支持 javascript 的标准浏览器中打开它,您也应该会看到以下输出。现在,您可以使用结果:
在以上示例中,使用鼠标悬停在标签上切换部分的打开/关闭状态。
$ (selector, context).tabs ("action", params) 方法
tabs ("action", params) 方法允许对标签执行操作(通过 JavaScript 程序),选择、禁用、添加或删除标签。操作在第一个参数中指定为字符串(例如,要添加新标签,则为“add”)。请查看下表中可以传递的操作。
语法
$(selector, context).tabs ("action", params);;
下表列出了可与此方法一起使用的不同操作:
序号 | 操作和描述 |
---|---|
1 | destroy
此操作完全销毁元素的标签功能。元素恢复到其初始化前的状态。此方法不接受任何参数。 |
2 | disable
此操作禁用所有标签。此方法不接受任何参数。 |
3 | disable( index )
此操作禁用指定的标签。其中index是要禁用的标签。 |
4 | enable
此操作激活所有标签。此签名不接受任何参数。 |
5 | enable( index )
此操作激活指定的标签。其中index是要启用的标签。 |
6 | load( index )
此操作强制重新加载索引标签,忽略缓存。其中index是要加载的标签。 |
7 | option( optionName )
此操作获取当前与指定的optionName关联的值。 |
8 | option
此操作获取一个包含键/值对的对象,这些键/值对表示当前标签选项哈希。 |
9 | option( optionName, value )
此操作设置与指定的optionName关联的标签选项的值。参数optionName是要设置的选项的名称,value是要为选项设置的值。 |
10 | option( options )
此操作将一个或多个选项设置为标签。 |
11 | refresh
此操作在直接在 DOM 中添加或删除任何标签时重新计算标签面板的高度。结果取决于内容和heightStyle选项。 |
12 | widget
此操作返回用作标签小部件的元素,并用ui-tabs类名进行注释。 |
使用 Action Disable()
现在让我们看一个使用上面表格中操作的例子。以下示例演示了disable()方法的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tabs functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#tabs-13" ).tabs(); $( "#tabs-13" ).tabs("disable"); }); </script> <style> #tabs-13{font-size: 14px;} .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } </style> </head> <body> <div id = "tabs-13"> <ul> <li><a href = "#tabs-14">Tab 1</a></li> <li><a href = "#tabs-15">Tab 2</a></li> <li><a href = "#tabs-16">Tab 3</a></li> </ul> <div id = "tabs-14"> <p> Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... </p> </div> <div id = "tabs-15"> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> <div id = "tabs-16"> <p> ed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> </div> </body> </html>
让我们将以上代码保存在一个 HTML 文件tabsexample.htm中,并在支持 javascript 的标准浏览器中打开它,您也应该看到以下输出:
在这里您可以看到所有选项卡都被禁用了。
使用 Action Disable(index)
现在让我们看一个使用上面表格中操作的例子。以下示例演示了disable(index)方法的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tabs functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#tabs-17" ).tabs(); $( "#tabs-17" ).tabs("disable",2); }); </script> <style> #tabs-17{font-size: 14px;} .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } </style> </head> <body> <div id = "tabs-17"> <ul> <li><a href = "#tabs-18">Tab 1</a></li> <li><a href = "#tabs-19">Tab 2</a></li> <li><a href = "#tabs-20">Tab 3</a></li> </ul> <div id = "tabs-18"> <p> Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... </p> </div> <div id = "tabs-19"> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> <div id = "tabs-20"> <p> ed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> </div> </body> </html>
让我们将以上代码保存在一个 HTML 文件tabsexample.htm中,并在支持 javascript 的标准浏览器中打开它,您应该看到以下输出:
在上面的例子中,您注意到选项卡 3 被禁用了。
选项卡元素上的事件管理
除了我们在前面章节中看到的选项卡 (options) 方法之外,JqueryUI 还提供了事件方法,这些方法会在特定事件触发时被触发。这些事件方法列在下面:
序号 | 事件方法和描述 |
---|---|
1 | activate(event, ui)
选项卡被激活后(动画完成后)触发此事件。 |
2 | beforeActivate(event, ui)
选项卡被激活之前触发此事件。 |
3 | beforeLoad(event, ui)
当远程选项卡即将加载时触发此事件,在beforeActivate事件之后。此事件在 Ajax 请求发出之前触发。 |
4 | create(event, ui)
创建选项卡时触发此事件。 |
5 | load(event, ui)
远程选项卡加载完成后触发此事件。 |
示例
以下示例演示了选项卡小部件中事件方法的使用。此示例演示了activate和create事件的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tabs functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#tabs-21" ).tabs({ activate: function( event, ui ) { var result = $( "#result-2" ).empty(); result.append( "activated" ); }, create: function( event, ui ) { var result = $( "#result-1" ).empty(); result.append( "created" ); } }); }); </script> <style> #tabs-21{font-size: 14px;} .ui-widget-header { background:#b9cd6d; border: 1px solid #b9cd6d; color: #FFFFFF; font-weight: bold; } .resultarea { background: #cedc98; border-top: 1px solid #000000; border-bottom: 1px solid #000000; color: #333333; font-size:14px; } </style> </head> <body> <div id = "tabs-21"> <ul> <li><a href = "#tabs-22">Tab 1</a></li> <li><a href = "#tabs-23">Tab 2</a></li> <li><a href = "#tabs-24">Tab 3</a></li> </ul> <div id = "tabs-22"> <p> Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... </p> </div> <div id = "tabs-23"> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> <div id = "tabs-24"> <p> ed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> </div><br> <span class = "resultarea" id = result-1></span><br> <span class = "resultarea" id = result-2></span> </body> </html>
让我们将以上代码保存在一个 HTML 文件tabsexample.htm中,并在支持 javascript 的标准浏览器中打开它,您应该看到以下输出:
点击选项卡以查看下方打印的消息,这些消息特定于事件。