首页 > 编程 > JavaScript > 正文

layer弹出层全屏及关闭方法

2019-11-19 13:14:05
字体:
来源:转载
供稿:网友

一、首先引用JS文件

<script src="../../js/common/layer/layer.js"></script>

二、全屏调用以下代码

var index = layer.open({ type: 2, content: url, area: ['300px', '195px'],  title: false, maxmin: true,  closeBtn: 0    });layer.full(index);

三、关闭弹出层

var index = parent.layer.getFrameIndex(window.name);parent.layer.close(index);

总结:

这种打开的页面的好处是:直接关闭当前弹出层,不用刷新整个页面,不用加载数据,性能高,节约时间,缺点是查询参数的传输不方便。

补充:

这种写法产地参数十分的不方便,试过array方式传参解读过去的都是object根本不是想要的数据,而json格式数据因为里面带有引号只会传递部分数据,我在这里总结了一个方法,从几种方法里面选的一个相对较好的传参方式:

[{"name":"periodstart","value":"2014-01"},{"name":"periodend","value":"2014-12"},{"name":"fkcategory","value":""},{"name":"fkCategoryName","value":""},{"name":"fkmandept","value":""},{"name":"fkMandeptName","value":""},{"name":"fkusedept","value":""},{"name":"fkUsedeptName","value":""},{"name":"pkcurrtype","value":""},{"name":"total","value":""}]
JSON.stringify($('#searchForm').serializeArray()).replace(/"+/g,'').replace(/name:/g,'').replace(/,value:/g,'=').replace(/},{/g,',');

这是先将一个form表单里面的数据序列化出来,然后转为json格式,然后将json格式的数据转为map避免json数据里面引号对数据的传递影响,然后在后台直接在后台强转为map格式的数据,非常方便。

 Map<String, String> map = new HashMap<String, String>(); String data = "{periodstart=2014-01,periodend=2014-12,fkcategory=," + "fkCategoryName=,fkmandept=,fkMandeptName=,fkusedept=,fkUsedeptName=,pkcurrtype=,total=}";; data = data.substring(1, data.length()-1);//去掉前后括号 String[] arraydata = data.split(",");//按“,”将其分为字符数组 for (int i = 0; i < arraydata.length; i++) {  int j = arraydata[i].indexOf("=");  map.put(arraydata[i].substring(0, j-1), arraydata[i].substring(j+1, arraydata[i].length())); } Object o = map.get("perioden"); System.out.println(o.toString());
{periodstart=2014-01,periodend=2014-12,fkcategory=,fkCategoryName=,fkmandept=,fkMandeptName=,fkusedept=,fkUsedeptName=,pkcurrtype=,total=}

以上这篇layer弹出层全屏及关闭方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表