实例代码讲解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.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
Jan 15 Javascript
解析Javascript中难以理解的11个问题
Dec 09 Javascript
jQuery的观察者模式详解
Dec 22 Javascript
javascript控制台详解
Jun 25 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
Nov 25 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
在Js页面通过POST传递参数跳转到新页面详解
Aug 25 Javascript
Vue组件通信之Bus的具体使用
Dec 28 Javascript
微信小程序配置服务器提示验证token失败的解决方法
Apr 03 Javascript
js类的继承定义与用法分析
Jun 21 Javascript
vue项目中监听手机物理返回键的实现
Jan 18 Javascript
three.js着色器材质的内置变量示例详解
Aug 16 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中上传大体积文件时需要的设置
2006/10/09 PHP
php中转义mysql语句的实现代码
2011/06/24 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
php面向对象的用户登录身份验证
2017/06/08 PHP
在Laravel 的 Blade 模版中实现定义变量
2019/10/14 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
跟老齐学Python之数据类型总结
2014/09/24 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
python标准库OS模块详解
2020/03/10 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
机电一体化职业规划书
2014/01/07 职场文书
助学金感谢信
2015/01/20 职场文书
学校捐书倡议书
2015/04/27 职场文书
交通事故代理词范文
2015/05/23 职场文书
音乐会主持人开场白
2015/05/28 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
MySQL自定义函数及触发器
2022/08/05 MySQL