layui按钮---Layer自定义按钮,关闭弹出层/弹窗;layer自带按钮

本天在写代码过程中遇到一个问题.
layer本身自带弹窗按钮,可自定义内容及方法,如下:

function openCurtain(){
	top.layer.open({
		type : 2,
		area : [ 500, 500 ],
		maxmin : true,
		title : '窗帘设置',
		content : 'meetingController.do?meetingCurtainPop',
		btn: ['确定', '关闭'],                                //按钮显示--显示什么''中输入什么,若不想显示,btn及其内代码不加入
	 		yes: function(index, layero) {            //点击确定时的方法
	 			var returnVal = layero.find("iframe")[0].contentWindow.saveTimer();
	 			top.layer.close(index);
	 			layer.open({
					title:'提示信息',
					offset:'rb',
					content:'定时任务更新成功',
					time:6000,
					btn:false,
					shade:false,
					icon:1,
					skin:'jz',
					shift:2
				});
	 		},
		success : function(layero,index) {
			console.log('open');
			var body = top.layer.getChildFrame('body', index);
			console.log(body);
		}
	});	
}

因为需求问题,我自己并没有使用layer自带按钮,而是自己写入两个按钮,如下所示(使用了bootstrap框架):

changeSure()为点击确定按钮时触发的方法;formClose()为点击取消时触发的方法。

function changeSure(){
      //写入点击确定按钮时,要执行的代码
      changeController(modelArray);
      
      //(此处下面语句二选一)
      setTimeout(function(){ formClose(); }, 1000);     //如果上面执行的代码涉及到后台,使用此方式,延迟执行关闭
      formClose();                      //如果不涉及到后台,可直接调用关闭方法,选此句
}

重点:关闭当前弹出层。

window.formClose = function(){
         var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
         parent.layer.close(index); //再执行关闭   
}

你可能感兴趣的:(layer.js,layui)