首页 > 其他 > 详细

easyui弹出框全局遮罩的实现

时间:2015-11-04 17:59:46      阅读:472      评论:0      收藏:0      [点我收藏+]


用EasyUI做一个管理系统,左边导航栏,右边主区域TAB,tab里面嵌入一个iframe。然后所有的操作都到iframe里面了。在iframe里面引入datagrid,搞个工具栏,弹出框啊什么的都只能遮罩住iframe的页面,虽然没什么大碍,可是看着很不爽啊!我想遮罩住整个页面,怎么办?网上找了下资料有是有,都他们COPY的啊,后来在一个地方找到了,哈哈,网址忘了,原创别骂我哈。这里贴出来,有需要的拿去吧。

//在工具栏下的按钮调用此函数即可,该函数弹出一个窗口,在页面最顶层,遮罩全局。
//title -- 弹出窗口左上角的名称
//href  -- 该弹出框内部容纳的页面,是一个完整的jsp或html页面
function showWindow(title, href, width, height, modal) {
	var openWin = window.top.$(‘<div id="myWinId" class="easyui-window" closed="true"></div>‘).appendTo(window.top.document.body);
	openWin.window({
		title: title,
		width: width === undefined ? 360 : width,
		height: height === undefined ? 300 : height,
		content: ‘<iframe scrolling="no" frameborder="0"  src="‘ + parent.getBasePath()+href + ‘" style="width:100%;height:100%;"></iframe>‘,
		modal: modal === undefined ? true : modal,
		minimizable: false,
		maximizable: false,
		shadow: false,
		cache: false,
		closed: false,
		collapsible: false,
		resizable: false,
		loadingMessage: ‘正在加载数据,请稍等片刻......‘,
		onClose : function(){ 
			openWin.window("destroy"); 
		}
	});
}

//这个函数写在最外面的jsp页面中,即iframe的容器中,子页面调用是前面加上parent即可
function getBasePath() {
	var location = (window.location+‘‘).split(‘/‘);  
	var basePath = location[0]+‘//‘+location[2]+‘/‘+location[3]+‘/‘; 
	return basePath;
}

//对于弹出的一些警告框,要想在弹出是遮罩整个页面,把这个封装一下,放在主页面,然后通过
// parent.globalAlert()来调用即可。以此类推,confirm或者progressBar都可以这么做
function globalAlert(name, msg, level) {
	$.messager.alert(name, msg, level);
}

//简单而言,登陆进来之后,就是index.jsp,然后index.jsp里有tabs,tabs里有iframe
//通过parent来调用的函数放在index.jsp中,然后iframe中在函数前加上parent.就可以调用了
//这样弹出窗就是在index.jsp页面上了,也就是实现了全局遮罩的效果。
//不知道各位有没有更好的实现方式?请赐教。


easyui弹出框全局遮罩的实现

原文:http://my.oschina.net/u/2245029/blog/525833

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!