实例代码讲解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 判断上传文件大小及格式代码
Nov 13 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
Oct 17 Javascript
通过实例理解javascript中没有函数重载的概念
Jun 03 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
Feb 20 Javascript
AngularJS实现的回到顶部指令功能实例
May 17 Javascript
JavaScript判断浏览器和hack滚动条的写法
Jul 23 Javascript
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
详解js模板引擎art template数组渲染的方法
Oct 09 Javascript
layer.alert回调函数执行关闭弹窗的实例
Sep 11 Javascript
微信小程序一周时间表功能实现
Oct 17 Javascript
如何利用js在两个html窗口间通信
Apr 27 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写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
php实现可运算的验证码
2015/11/10 PHP
对联广告js flash激活
2006/10/19 Javascript
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
jquery遍历input取得input的name
2009/04/27 Javascript
javascript数组去掉重复
2011/05/12 Javascript
innerText和textContent对比及使用介绍
2013/02/27 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
原生js仿jquery animate动画效果
2016/07/13 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
SeaJS中use函数用法实例分析
2017/10/10 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
python发送邮件接收邮件示例分享
2014/01/21 Python
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
python实现三维拟合的方法
2018/12/29 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
感恩小明星事迹材料
2014/05/23 职场文书
个人融资协议书
2014/10/02 职场文书
婚礼答谢礼品
2015/01/20 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
python blinker 信号库
2022/05/04 Python