实例代码讲解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 相关文章推荐
js调用图片隐藏&amp;显示实现代码
Sep 13 Javascript
javascript页面动态显示时间变化示例代码
Dec 18 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 Javascript
javascript中this指向详解
Apr 23 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
Aug 01 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
Jun 19 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
解决layui弹出层layer的area过大被遮挡的问题
Sep 21 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 Javascript
js数组的基本使用总结
Jan 18 Javascript
js面向对象编程OOP及函数式编程FP区别
Jul 07 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+mysql写的简单留言本实例代码
2008/07/25 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
jQuery 连续列表实现代码
2009/12/21 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
详谈python read readline readlines的区别
2017/09/22 Python
python爬取网页转换为PDF文件
2018/06/07 Python
Python爬虫文件下载图文教程
2018/12/23 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
pandas计数 value_counts()的使用
2019/06/24 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
python批量处理txt文件的实例代码
2020/01/13 Python
Python-opencv 双线性插值实例
2020/01/17 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
易程科技软件测试笔试
2013/03/24 面试题
大学同学聚会邀请函
2014/01/29 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
合作与交流自我评价
2015/03/09 职场文书
道歉信怎么写
2015/05/12 职场文书
七年级上册生物的课件
2019/08/07 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
Java实现多线程聊天室
2021/06/26 Java/Android