layer弹窗

一、导入layer插件文件(我的下载里面有资源)


如图: 

二、引入资源

<script src="${base}/vender/layer-v2.1/layer/layer.js"></script>

三、Freemarker页面 代码

<a   οnclick="confirmDelete('${x.lawId!}','')"  >删除</a>

<div id="dialog">
<div id="confirmDelete" style="display: none">
	<div style="padding: 10px;">
		<div>确定要删除吗?</div>
		<div><label id="id"></label></div>
	</div>
</div>
</div>

四、js代码:

function confirmDelete(id, param) {
	var mydom = $('#confirmDelete');
	var href = base + "/law/deleteLaw/" + id;
	$('#confirmDelete #id').text(param);
	layer.open({
		type : 1,
		shadeClose : false,
		// area : [ '500px', '300px' ],
		title : "确认",
		content : mydom,
		btn : [ '确定', '取消' ],
		btn1 : function(index, layero) {
			window.location.href = href;
			layer.close(index);
		},
		btn2 : function(index) {
			layer.close(index);
		},
		success : function(layero, index) {
			mydom.show();
		},
		end : function() {
			mydom.hide();
		},
	});}

五、一般情况就完成了,但可能会出现弹窗无法点击的问题,需在最外层页面加入如下js代码。

function showdialog(mask) {
	var getid = "#mydialog";
	var mask = "1";
	var width = "30%";
	var detail = "";
	var masklayout = $('<div class="dialog-mask"></div>');
	if (width == null) {
		width = "80%";
	}

	if (mask == "1") {
		$("body").append(masklayout);
	}
	detail = '<div class="dialog-win" style="position:fixed;width:' + width
			+ ';z-index:11;">';

	if (getid != null) {
		detail = detail + $(getid).html();
	}

	detail = detail + '</div>';

	var win = $(detail);
	win.find(".dialog").addClass("open");

	$("body").append(win);
	var x = parseInt($(window).width() - win.outerWidth()) / 2;
	var y = parseInt($(window).height() - win.outerHeight()) / 2;
	if (y <= 10) {
		y = "10";
	}
	win.css({
		"left" : x,
		"top" : y
	});

	win.find(".dialog-close,.close").each(function() {
		$(this).click(function() {
			win.find(".dialog-myBOBD1").each(function() {
				myprivate();
			});
			win.remove();
			$('.dialog-mask').remove();
		});
	});
	
	win.find(".dialog-wclose").each(function() {
		$(this).click(function() {
			window.close();
		});
	});
	
	win.find(".dialog-myBOBD1").each(function() {
		$(this).click(function() {
			myprivate();
			win.remove();
			$('.dialog-mask').remove();
		});
	});

	win.find(".dialog-ok").each(function() {
		$(this).click(function() {
			myconfirm();
			win.remove();
			$('.dialog-mask').remove();
		});
	});

	masklayout.click(function() {
		win.remove();
		$(this).remove();
	});
};


以下是效果图:




如果使用angularjs ,以下是对应的js提交代码

	// 删除确认对话框表示
	$scope.deletegift = function() {//TODO
		// 选中对象确认
		var intCount = 0;
			for (var i = 0; i < $scope.giftList.length; i++) {
		
				if ($scope.giftList[i].ISCHECK2 == true) {
					intCount++;
				}
			}
	
		if (intCount == 0) {
			$scope.error = "请选择删除对象。";
			return;
		}
		var title = "确认";

		$scope.confirmContent = '确定要删除吗?';

		var mydom = $('#confirmDlg');
		layer.open({
			type : 1,
			shadeClose : false,
			area : [ '450px', '160px' ],
			title : title,
			content : mydom,
			btn : [ '确定', '取消' ],
			btn1 : function(index, layero) {
			},
			btn2 : function(index) {
				layer.close(index);
			},
			yes : function(index, layero) {
				layer.close(index);
				delObj2();
			},
			success : function(layero, index) {
				mydom.show();
			},
			end : function() {
				mydom.hide();
			},
		});
	};
	function delObj2() {
		$scope.error = "";
		var idList = "";
		// 获取要删除的数据
		if ($scope.giftList&& $scope.giftList.length > 0) {
			for (var i = 0; i < $scope.giftList.length; i++) {
				if ($scope.giftList[i].ISCHECK2 == true) {
					if (idList != "") {
						idList += ",";// 以逗号分隔
					}
					idList += $scope.giftList[i].giftId;
				}
			}
		}
		if (idList != "") {
			$http({
				method : "post",
				url : "find/deleteGift",
				data : {
					"idList" : idList
				}
			}).success(function(rs, status, headers, config) {
				chkSession(rs);
				if (rs.status == 0) {
					// 更新后数据表示
					$scope.inittable();
					select();
					$scope.success = rs.message;
				} else {
					$scope.error = "操作失败。";
				}
			}).error(function(rs, status, headers, config) {
				$scope.error = "操作时,发生系统异常。";
			});
		}
	};


















  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OpenLayers是一个用于创建交互式地图的JavaScript库。您提到的"openlayer弹窗"可能是指在OpenLayers地图创建弹窗窗口的功能。 首先,为了创建OpenLayers弹窗,您需要一个DOM对象来承载弹窗内容。这可以通过在HTML页面添加一个具有唯一ID的div元素来实现。该div元素将用作OpenLayers弹窗的容器。您可以在该div元素添加其他元素,以定义弹窗的样式和内容。 为了定义弹窗的样式,您可以使用CSS来设置div元素的样式属性。您可以为弹窗容器div添加类名或直接为其设置样式属性。通过设置宽度、高度、背景颜色、边框样式等属性,您可以自定义弹窗的外观。 一旦您创建了弹窗容器和定义了其样式,您可以使用OpenLayers的功能来处理弹窗的显示和关闭事件。通过监听地图上的特定事件,例如单击地图上的某个要素或位置,您可以触发弹窗的显示。在弹窗显示之后,您可以向其添加标题和内容。 在OpenLayers,您可以使用Overlay类来实现弹窗的显示和关闭机制。Overlay类提供了打开和关闭弹窗的方法,以及设置弹窗内容的方法。通过将弹窗容器div作为Overlay的元素,您可以将其与地图关联起来,并实现在特定事件触发时显示弹窗。 总结一下,创建OpenLayers弹窗的步骤如下: 1. 在HTML页面创建一个div元素,作为弹窗容器,并为其添加唯一的ID。 2. 使用CSS设置div元素的样式,以定义弹窗的外观。 3. 在OpenLayers创建一个Overlay对象,将弹窗容器div作为其元素。 4. 监听地图上的特定事件,例如单击事件,当事件触发时,调用Overlay的打开方法以显示弹窗。 5. 在弹窗显示后,使用JavaScript动态添加标题和内容。 需要注意的是,弹窗的具体实现可能因您使用的OpenLayers版本和您的需求而有所不同。请确保参考OpenLayers的官方文档和示例代码以获取更详细和准确的信息。 参考资料: 目录 一、定义popup弹窗dom对象二、定义弹窗样式三、定义Overlay四、设置单击地图后弹窗显示信息五、设置弹窗关闭事件 要展示弹窗,我们首先需要一个dom对象来承载。 <div id="popup" class="ol-popup"> <a href="#" id="popup-closer" class="ol-popup-closer" onclick="closePopup();"></a> <div id="popup-title" class="popup-title"></div> <div id="popup-content" class="popup-content"></div> </div> 二、定义弹窗样式 layer弹窗:top.layer弹窗到父页面跨域,通过postMessage方法将子页面的配置对象发送到父页面,父页面再通过子页面的配置对象打开弹窗,对象内不能存在事件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值