`
fortaotao
  • 浏览: 47650 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

巧用ui.tabs.js生成二级菜单

阅读更多

利用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右键菜单实现关闭标签/选项卡

    在示例代码中,使用了jQuery EasyUI的tabs组件来生成标签页。示例代码展示了如何初始化一个带有边框的tab面板,并且可选择关闭选中的标签页。 ```javascript $('#tt').tabs({ border: true, onSelect: function...

    使用_jQuery_生成丰富用户界面.pdf

    ### 使用jQuery生成丰富用户界面 #### 一、引言 随着Web应用的发展,用户界面的交互性和美观性变得越来越重要。jQuery作为一个流行的JavaScript库,因其轻量级且强大的功能而广受欢迎。它不仅可以简化HTML文档遍历...

    jQuery用户界面库学习指南

    9. **性能优化**:理解如何合理使用jQuery UI以提高页面性能,如延迟加载、按需加载组件,以及优化CSS和JavaScript代码。 10. **兼容性和测试**:确保jQuery UI在各种浏览器和设备上都能正常工作,学习如何进行跨...

    50个jqery插件

    4. **A Navigation Menu**:利用锚链接的无序列表进行嵌套,可以轻松添加二级菜单,提升网站的导航结构。 5. **SuckerFish Style**:采用CSS技术实现的菜单样式,兼容性好,易于定制。 #### 三、选项卡(Tabs) 6. ...

    ionic学习记录总结

    在开始使用Ionic之前,首先需要安装Node.js环境,然后通过npm(Node.js包管理器)来安装Cordova和Ionic。具体命令如下: ```bash npm install -g cordova ionic ``` **2. 创建项目:** 创建一个新的Ionic项目非常...

    ExtAspNet_v2.3.2_dll

    ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox...

    ExtJS 中文手册2

    除了表格控件外,ExtJS 还提供了丰富的 UI 组件,如布局(layouts)、标签(tabs)、菜单(menus)、工具栏(toolbars)、对话框(dialogs)、树形视图(tree view)等。这些组件可以组合使用,构建复杂的前端应用程序。 #### ...

    ionic3开发笔记

    `template`参数指定了应用的基本布局结构,可以选择`blank`(空白模板)、`sidemenu`(侧边菜单模板)或`tabs`(标签页模板)。 ##### 2.3 编辑工具 - 推荐使用WebStorm作为编辑器,它具有强大的代码编辑和调试功能...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome ...

    amis前端低代码框架-其他

    5、提供完整的界面解决方案:其它 UI 框架必须使用 JavaScript 来组装业务逻辑,而 amis 只需 JSON 配置就能完成完整功能开发,包括数据获取、表单提交及验证等功能,做出来的页面不需要经过二次开发就能直接上线;...

Global site tag (gtag.js) - Google Analytics