实例代码讲解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 相关文章推荐
Javascript----文件操作
Jan 18 Javascript
javascript 变量作用域 代码分析
Jun 26 Javascript
JQuery获取表格数据示例代码
May 26 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
Mar 13 Javascript
JavaScript头像上传插件源码分享
Mar 29 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
May 17 Javascript
JQuery遍历元素的后代和同胞实现方法
Sep 18 Javascript
ajax与json 获取数据并在前台使用简单实例
Jan 19 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
May 08 Javascript
vue实现弹幕功能
Oct 25 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+java实现自动新闻滚动窗口
2006/10/09 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
表格 隔行换色升级版
2009/11/07 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
js的延迟执行问题分析
2014/06/23 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
2020/02/09 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
Python中的localtime()方法使用详解
2015/05/22 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
招商经理岗位职责
2013/11/16 职场文书
怎样写好自荐信和推荐信
2013/12/26 职场文书
文体活动实施方案
2014/03/27 职场文书
干部个人对照检查材料
2014/08/25 职场文书
可可西里观后感
2015/06/08 职场文书
详解Python牛顿插值法
2021/05/11 Python
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
MySQL数据库Innodb 引擎实现mvcc锁
2022/05/06 MySQL