实例代码讲解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中each()的使用方法说明
Aug 19 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
Apr 16 Javascript
js 设置缓存及获取设置的缓存
May 08 Javascript
jquery分页插件jquery.pagination.js使用方法解析
Apr 01 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
Jun 03 Javascript
Javascript发送AJAX请求实例代码
Aug 21 Javascript
ionic隐藏tabs的方法
Aug 29 Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 Javascript
简单分析js中的this的原理
Aug 31 Javascript
react antd表格中渲染一张或多张图片的实例
Oct 28 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
乱谈我对耳机、音箱的感受
2021/03/02 无线电
关于Intype一些小问题的解决办法
2008/03/28 PHP
PHP 文件上传全攻略
2010/04/28 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
调试WordPress中定时任务的相关PHP脚本示例
2015/12/10 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
Python中用Spark模块的使用教程
2015/04/13 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
2017/06/01 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
精彩的大学生自我评价
2013/11/17 职场文书
捐资助学倡议书
2014/04/15 职场文书
公务员年度考核评语
2014/12/31 职场文书
毕业论文致谢词
2015/05/14 职场文书
教师旷工检讨书
2015/08/15 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书