实例代码讲解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实现select下拉选择可输入附源码下载
Feb 03 Javascript
Jquery技巧(必须掌握)
Mar 16 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
Jun 14 Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 Javascript
JavaScript中数组Array.sort()排序方法详解
Mar 01 Javascript
详解webpack分离css单独打包
Jun 21 Javascript
Angular4绑定html内容出现警告的处理方法
Nov 03 Javascript
浅谈 Vue 项目优化的方法
Dec 16 Javascript
Node.js模块全局安装路径配置方法
May 17 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
Apr 03 Javascript
在vue中动态修改css其中一个属性值操作
Dec 07 Vue.js
使用vue-element-admin框架从后端动态获取菜单功能的实现
Apr 29 Vue.js
用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 mssql 时间格式问题
2009/01/13 PHP
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
在线游戏大家来找茬II
2006/09/30 Javascript
JavaScript delete操作符应用实例
2009/01/13 Javascript
js 金额文本框实现代码
2012/02/14 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
python测试mysql写入性能完整实例
2018/01/18 Python
python中的闭包函数
2018/02/09 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
办加油卡单位介绍信
2014/01/09 职场文书
什么是就业协议书
2014/04/17 职场文书
铅球加油稿100字
2014/09/26 职场文书
MySQL索引失效场景及解决方案
2022/07/23 MySQL