EasyUI两种动态添加tab Iframe页面的方法
/** 动态添加tab-----方式一 **/
function addIframeTab(titleTxt,href,icon) {
$('#mytabs').tabs('addIframeTab', {
//tab参数为一对象,其属性同于原生add方法参数
tab : {
title : titleTxt,
closable : false,
tools : [ {
iconCls : icon,
handler : function(e) {
var title = $(e.target).parent().parent().text();
$('#tabs').tabs('updateIframeTab', {
'which' : title
});
}
} ]
},
//iframe参数用于设置iframe信息,包含:
//src[iframe地址],frameBorder[iframe边框,,默认值为0],delay[淡入淡出效果时间]
//height[iframe高度,默认值为100%],width[iframe宽度,默认值为100%]
iframe : {
src :href
}
});
$('#mytabs').tabs('addEventParam');
} /** 动态添加tab-----方式二 **/
function addTab(title, href,icon){
var tt = $('#mytabs');
if (tt.tabs('exists', title)){//如果tab已经存在,则选中并刷新该tab
tt.tabs('select', title);
refreshTab({tabTitle:title,url:href});
} else {
var content="";
if (href){
content = '<iframe scrolling="no" frameborder="0" src="'+href+'" style="width:100%;height:100%;"></iframe>';
} else {
content = '未实现';
}
tt.tabs('add',{
title:title,
closable:false,
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?$('#mytabs').tabs('getTab',cfg.tabTitle):$('#mytabs').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;
}
} window.onload=function()
{
var pages=[{pageName:"task",title:"任务下发",icon:"icon-task"},{pageName:"track",title:"任务跟踪",icon:"icon-track"},{pageName:"report",title:"数据分析",icon:"icon-report"}];
for (var i = 0; i < pages.length; i++) {
var href= PROJECT_URL + "/drilling/"+pages[i].pageName;
addTab(pages[i].title,href,pages[i].icon);
}
};
注:第二种图标显示更好看一些。
*点击tab切换页面处理
var PROJECT_PID = parent.PROJECT_ID;
var count = 0;
var PROJECT_URL = "${ctx}";
$(document).ready(function() {
//更改父窗体显示的标签名称
parent.$("#mainContainer").panel({
title : "@钻井工序"
});
//设置选项卡页面请求
$('#mytabs').tabs({
border : false,
onSelect : function(title) {
if (title == '任务下发' && count != 0) {
var reqUrl = PROJECT_URL + "/drilling/task";
refreshTab({tabTitle:title,url:reqUrl});
} else if (title == '任务跟踪') {
count = 1;
var reqUrl = PROJECT_URL + "/drilling/track";
refreshTab({tabTitle:title,url:reqUrl});
} else if (title == '数据分析') {
count = 1;
var reqUrl = PROJECT_URL + "/drilling/report";
refreshTab({tabTitle:title,url:reqUrl});
}
}
});
});
EasyUI两种动态添加tab Iframe页面的方法的更多相关文章
- 两种动态加载JavaScript文件的方法
两种动态加载JavaScript文件的方法 第一种便是利用ajax方式,第二种是,动静创建一个script标签,配置其src属性,经过把script标签拔出到页面head来加载js,感乐趣的网友可以看 ...
- VC++ 两种动态调整控件位置的方法(CButton设置为Radio形式会出现错误)
((CButton*)GetDlgItem(IDC_CHECK1))->MoveWindow(, cy - , , ); ((CButton*)GetDlgItem(IDC_CHECK2))-& ...
- 总结两种动态代理jdk代理和cglib代理
动态代理 上篇文章讲了什么是代理模式,为什么用代理模式,从静态代理过渡到动态代理. 这里再简单总结一下 什么是代理模式,给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原 ...
- 两种动态SQL
参考:http://www.cnblogs.com/wanyuan8/archive/2011/11/09/2243483.htmlhttp://www.cnblogs.com/xbf321/arch ...
- bootstrap动态添加Tab标签页
好久没有写博客了(主要是懒),工作中用到一个动态添加Tab的功能,众所周知,bootstrap没有动态添加Tab的功能,网上又没找到什么好用的,那咱就自己写呗?(因为懒,所以只写了添加的方法.(๑&g ...
- C#—Dev XtraTabControl动态增加Tab和关闭选项卡方法
C#—Dev XtraTabControl动态增加Tab和关闭选项卡方法,有需要的朋友可以参考下. 记录一下以免以后忘了 添加using DevExpress.XtraTab; 双击listview增 ...
- C#—Dev XtraTabControl操作总结如动态增加Tab和关闭选项卡方法等
1:显示行号 找到gridview属性 点击事件 CustomDrawRowIndicator private void gridView1_CustomDrawRowIndicator(object ...
- ASP.NET动态添加用户控件的方法
本文实例讲述了ASP.NET动态添加用户控件的方法.分享给大家供大家参考.具体实现方法如下: 为了让用户控件能ASP.NET页面实现动态添加,首先写一个接口IGetUCable,这个接口有一个函数,返 ...
- 【JPA】两种不同的实现jpa的配置方法
两种不同的实现jpa的配置方法 第一种: com.mchange.v2.c3p0.ComboPooledDataSource datasource.connection.driver_class=co ...
随机推荐
- WPF控件中可以用来记录数据用的属性总结
今天遇到一个问题需要为每个控件tooltip根据不同情况显示多组数据,于是需要用到控件的某个属性暂存这个数据.好吧,现在我找到了3个属性可用,给自己做个备忘. 1.Tag 这个属性是object类型 ...
- CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium
CEF中文教程(google chrome浏览器控件) -- CEF简介 2013-04-10 16:48 42928人阅读 评论(4) 收藏 举报 分类: CEF(2) 目录(?)[+] ...
- 用JSTL简化Java Web开发
如今这个手中的项目jstl都不要,不方便呢... 链接学习下载:http://c20000001.blog.163.com/blog/static/1154754120088303531450/
- POJ 3259 Wormholes( bellmanFord判负环)
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 36425 Accepted: 13320 Descr ...
- Java中的native方法
博客引用地址:Java中的native方法 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method 简单地 ...
- pom.xml详解(转)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- ios7 UITableView底线右移
在ios7上UITableView底线右移了,我们可以通过添加代码来让它铺满整个屏幕的宽,在使用前要加上判断是否有这个方法 if ([_tableView respondsToSelector:@se ...
- B. Sereja and Mirroring
B. Sereja and Mirroring time limit per test 1 second memory limit per test 256 megabytes input stand ...
- tomcat使用说明
tomcat使用说明 1.tomcat的目录结构及说明: 2.发布WEB应用 1).将应用目录达成war包.(将html.jsp.images.WEB-INF目录和当前目录下的所有后缀名为jsp. ...
- xmanager 在 Windows 下远程桌面连接 麒麟
编辑/etc/gdm/custom.conf,添加如下内容: [daemon] RemoteGreeter=/usr/libexec/gdmgreeter 注:“远程登录界面与本地登录界面相同”功能 ...