实例代码讲解jquery easyui动态tab页


Posted in Javascript onNovember 17, 2015

通过使用 jQuery EasyUI 可以很容易地添加 Tabs。您只需要调用 'add' 方法即可。

function addTab(title, href,icon){ 
  var tt = $('#tabs'); 
  if (tt.tabs('exists', title)){//如果tab已经存在,则选中并刷新该tab     
    tt.tabs('select', title); 
    refreshTab({tabTitle:title,url:href}); 
  } else { 
    if (href){ 
      var content = '<iframe scrolling="no" frameborder="0" src="'+href+'" style="width:100%;height:100%;"></iframe>'; 
    } else { 
      var content = '未实现'; 
    } 
    tt.tabs('add',{ 
      title:title, 
      closable:true, 
      content:content, 
      iconCls:icon||'icon-default' 
    }); 
  } 
} 
/**   
 * 刷新tab 
 * @cfg 
 *example: {tabTitle:'tabTitle',url:'refreshUrl'} 
 *如果tabTitle为空,则默认刷新当前选中的tab 
 *如果url为空,则默认以原来的url进行reload 
 */ 
function refreshTab(cfg){ 
  var refresh_tab = cfg.tabTitle?$('#tabs').tabs('getTab',cfg.tabTitle):$('#tabs').tabs('getSelected'); 
  if(refresh_tab && refresh_tab.find('iframe').length > 0){ 
  var _refresh_ifram = refresh_tab.find('iframe')[0]; 
  var refresh_url = cfg.url?cfg.url:_refresh_ifram.src; 
  //_refresh_ifram.src = refresh_url; 
  _refresh_ifram.contentWindow.location.href=refresh_url; 
  }

以上代码简单易懂,代码就是注释,有疑问欢迎给我留言。

ps: jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”。

两者特点:

href方式加载数据的特点:

被加载的页面只有body元素内部的内容才会被加载,也就是jQuery的ajax请求的只是html片段。
加载远程url时有遮罩效果,也就是“等待中……”效果,用户体验较好。
当加载的页面布局较为复杂,或者有较多的js脚本需要运行的时候,编码往往就需要谨慎了,容易出问题,后面会详细谈。

content方式加载数据的特点:

比较灵活,你可以在脚本里面拼写html代码,然后赋值给tab的content属性,不过这种写法会使得代码易读性变差。
可以把iframe赋给content,把一个iframe嵌入也就没有什么不能完成的了。
使用iframe会造成客户端js重复加载,浪费资源,比如说你主页面要引用easyui的库,你的iframe也要引用,浪费就产生了。

Javascript 相关文章推荐
Prototype使用指南之hash.js
Jan 10 Javascript
javascript不同类型数据之间的运算的转换方法
Feb 13 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
Aug 12 Javascript
javascript实现图片上传前台页面
Aug 18 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
Mar 24 Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
Dec 14 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
Mar 03 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
Apr 08 Javascript
JavaScript Tab菜单实现过程解析
May 13 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
Nov 17 #Javascript
基于Jquery easyui 选中特定的tab
Nov 17 #Javascript
jquery实现简单的表单验证
Nov 17 #Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
Nov 17 #Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
Nov 17 #Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
Nov 17 #Javascript
jquery判断密码强度的验证代码
Apr 22 #Javascript
You might like
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
PHP中的表达式简述
2016/05/29 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
js同源策略详解
2015/05/21 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
Python中的zipfile模块使用详解
2015/06/25 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
Python 如何提高元组的可读性
2019/08/26 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
Python bisect模块原理及常见实例
2020/06/17 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
婚礼证婚人证婚词
2014/01/13 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
环保建议书作文300字
2015/09/14 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android
mysql优化之query_cache_limit参数说明
2021/07/01 MySQL