实例代码讲解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 相关文章推荐
Jquery ui css framework
Jun 28 Javascript
yepnope.js 异步加载资源文件
Sep 08 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
Jun 14 Javascript
Document:getElementsByName()使用方法及示例
Oct 28 Javascript
js实现格式化金额,字符,时间的方法
Feb 26 Javascript
JavaScript模拟数组合并concat
Mar 06 Javascript
vue实现简单表格组件实例详解
Apr 16 Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 Javascript
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
Dec 12 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 Javascript
js实现随机div颜色位置 类似满天星效果
Oct 24 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
网上抓的一个特效
2007/05/11 Javascript
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
JS 实现百度搜索功能
2018/02/01 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
python实现FTP服务器服务的方法
2017/04/11 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
python如何实现一个刷网页小程序
2018/11/27 Python
python顺序执行多个py文件的方法
2019/06/29 Python
django ajax发送post请求的两种方法
2020/01/05 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
python实现经纬度采样的示例代码
2020/12/10 Python
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
个人四风问题对照检查材料
2014/10/01 职场文书
基层党支部承诺书
2015/04/30 职场文书
小学班长竞选稿
2015/11/20 职场文书
党性修养心得体会2016
2016/01/21 职场文书
初二数学教学反思
2016/02/17 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
SQL CASE 表达式的具体使用
2022/03/21 SQL Server