利用ui.tabs.js生成一级菜单,一般都很简单。
不过实际应用中,二级菜单更具备实用性,用ui.tabs.js达到目的也很简单。
以下示例在jquery1.3.2和jquery ui1.7.2中通过。
javascript导入如下:
<script language="javascript" src="jquery-1.3.2.min.js"></script>
<script language="javascript" src="ui.core.js"></script>
<script language="javascript" src="ui.tabs.js"></script>
css导入如下:
<link type="text/css" href="css/ui.core.css" rel="stylesheet" />
<link type="text/css" href="css/ui.tabs.css" rel="stylesheet" />
<link type="text/css" href="css/ui.theme.css" rel="stylesheet" />
<link type="text/css" href="css/demos.css" rel="stylesheet" />
其中demos.css是jquery.ui下载包中示例的样式,里面包括字体的定义,可以用自己定义的。
一级菜单定义如下:
<div id="tabsEx1">
<input type="button" onclick="$('#tabsEx1 > ul').tabs('add', '#appended-tab', 'New Tab');" value="Add new tab">
<input type="button" onclick="$('#tabsEx1 > ul').tabs('add', '#inserted-tab', 'New Tab', 1);" value="Insert tab">
<input type="button" onclick="$('#tabsEx1 > ul').tabs('disable', 1);" value="Disable tab 2">
<input type="button" onclick="$('#tabsEx1 > ul').tabs('enable', 1);" value="Enable tab 2">
<input type="button" onclick="$('#tabsEx1 > ul').tabs('select', 2);" value="Select tab 3">
<br><br>
<ul style="height: 30px;">
<li><a href="#fragment-1">
<span>One</span></a>
</li>
<li><a href="#fragment-2"><span>Two</span></a></li>
<li><a href="#fragment-3"><span>Three</span></a></li>
</ul>
//这里正常情况是应该填入id分别为fragment-1、fragment-2、fragment-3的div
</div>
上面一级菜单定义缺少了内容模版格式的定义,我们在其中填入二级菜单内容定义:
<div id="fragment-1" class="fragment">
<ul style="height: 30px;">
<li><a href="#fragment-content"><span>One-1</span></a></li>
<li><a href="#fragment-content"><span>One-2</span></a></li>
<li><a href="#fragment-content"><span>One-3</span></a></li>
</ul>
</div>
<div id="fragment-2" class="fragment">
<ul style="height: 30px;">
<li><a href="#fragment-content"><span>Two-1</span></a></li>
<li><a href="#fragment-content"><span>Two-2</span></a></li>
<li><a href="#fragment-content"><span>Two-3</span></a></li>
</ul>
</div>
<div id="fragment-3" class="fragment">
<ul style="height: 30px;">
<li><a href="#fragment-content"><span>Three-1</span></a></li>
<li><a href="#fragment-content"><span>Three-2</span></a></li>
<li><a href="#fragment-content"><span>Three-3</span></a></li>
</ul>
</div>
<div id="fragment-content"> <p>Three</p> </div>
可以看到,二级菜单的内容模版定义均为<div id="fragment-content">......</div>。
在实际应用中,菜单最终刷新的内容区域仅采用一个DIV定义来实现是最为方便的。
基于以上的HTML格式,我们还需要进行tabs定义。
$(function(){
$("#tabsEx1").tabs({
show:function(event,ui){
var idx = ui.index;
$("#fragment-"+(idx+1)).tabs("select",0);
},
//全部置为-1,是让一级菜单的初始化选择能触发show事件
selected:-1
});
$(".fragment").tabs({
select:function(event,ui){
//这里最适合用来通过判断来显示DIV ID为fragment-content的内容
$("#fragment-content").html("successfully load fragment content-"+$("#tabsEx1").tabs("option","selected")+":"+ui.index);
},
//全部置为-1,是让一级菜单的初始化触发show事件,其中的执行动作能够触发二级菜单的select事件
selected:-1
});
$("#tabsEx1").tabs("select",0);
});
以上示例测试过,如果有什么问题,可以留言。
分享到:
相关推荐
在示例代码中,使用了jQuery EasyUI的tabs组件来生成标签页。示例代码展示了如何初始化一个带有边框的tab面板,并且可选择关闭选中的标签页。 ```javascript $('#tt').tabs({ border: true, onSelect: function...
### 使用jQuery生成丰富用户界面 #### 一、引言 随着Web应用的发展,用户界面的交互性和美观性变得越来越重要。jQuery作为一个流行的JavaScript库,因其轻量级且强大的功能而广受欢迎。它不仅可以简化HTML文档遍历...
9. **性能优化**:理解如何合理使用jQuery UI以提高页面性能,如延迟加载、按需加载组件,以及优化CSS和JavaScript代码。 10. **兼容性和测试**:确保jQuery UI在各种浏览器和设备上都能正常工作,学习如何进行跨...
4. **A Navigation Menu**:利用锚链接的无序列表进行嵌套,可以轻松添加二级菜单,提升网站的导航结构。 5. **SuckerFish Style**:采用CSS技术实现的菜单样式,兼容性好,易于定制。 #### 三、选项卡(Tabs) 6. ...
在开始使用Ionic之前,首先需要安装Node.js环境,然后通过npm(Node.js包管理器)来安装Cordova和Ionic。具体命令如下: ```bash npm install -g cordova ionic ``` **2. 创建项目:** 创建一个新的Ionic项目非常...
ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox...
除了表格控件外,ExtJS 还提供了丰富的 UI 组件,如布局(layouts)、标签(tabs)、菜单(menus)、工具栏(toolbars)、对话框(dialogs)、树形视图(tree view)等。这些组件可以组合使用,构建复杂的前端应用程序。 #### ...
`template`参数指定了应用的基本布局结构,可以选择`blank`(空白模板)、`sidemenu`(侧边菜单模板)或`tabs`(标签页模板)。 ##### 2.3 编辑工具 - 推荐使用WebStorm作为编辑器,它具有强大的代码编辑和调试功能...
ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome ...
5、提供完整的界面解决方案:其它 UI 框架必须使用 JavaScript 来组装业务逻辑,而 amis 只需 JSON 配置就能完成完整功能开发,包括数据获取、表单提交及验证等功能,做出来的页面不需要经过二次开发就能直接上线;...