<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<button>克隆所有，在body元素中插入它们</button>
		<div id="moveitem" class="myMoveItem" style="top:10px;left:10px;">
			<div class="moveItem_header">
				<p class="moveItem_title" onselectstart="return false">标题1</p>
				<div class="moveItem_oper">
					<button type="button" class="moveItem_fullScreen"><></button>
					<button type="button" class="moveItem_normalScreen">><</button>
					<button type="button" class="moveItem_close">X</button>
				</div>
			</div>
			<div class="moveItem_body" style="background-color: #FFF;height: calc(100% - 57px);">
				<p>测试1</p>
			</div>
			<span class="moveItem_resize"></span>
		</div>
		
		<div class="myMoveItem" style="top:150px;left:180px">
			<div class="moveItem_header">
				<p class="moveItem_title" onselectstart="return false">标题2</p>
				<div class="moveItem_oper">
					<button type="button" class="moveItem_fullScreen"><></button>
					<button type="button" class="moveItem_normalScreen">><</button>
					<button type="button" class="moveItem_close">X</button>
				</div>
			</div>
			<div class="moveItem_body">
				<p>测试2</p>
			</div>
			<div class="moveItem_footer">
				<button type="button" class="moveItem_do">确定</button>
				<button type="button" class="moveItem_cancel">取消</button>
			</div>
			<span class="moveItem_resize"></span>
		</div>

	</body>
</html>
<style type="text/css">
	body {
		height: 100%;
		width: 100%;
		overflow: hidden;
	}
	.moveItem_title {
		margin: 0;
		display: inline-block;
		width: calc(100% - 95px);
		padding: 10px;
		cursor: move;
	}
	.myMoveItem {
		width: 560px;
		height: 380px;
		background-color: white;
		box-shadow: 1px 1px 6px rgba(0,0,0,.2);
		position: absolute;
		z-index: 20;
		border-radius: 2px;
	}
	.moveItem_oper {
		position: absolute;
		right: 10px;
		display: inline;
		padding: 10px 0;
	}
	.moveItem_header {
		display: flex;
		background-color: #F8F8F8;
	}
	.moveItem_body {
		/* height: calc(100% - 179px); */
		height: calc(100% - 97px);
		padding: 8px;
		background-color: #eee;
		overflow: hidden;
	}
	.moveItem_footer {
		display: flex;
		padding: 8px;
	}
	.moveItem_do {
		color: #FFF;
		background-color: #1E9FFF;
		padding: 4px 15px;
		border: 0;
		cursor: pointer;
		position: absolute;
		right: 73px;
	}
	.moveItem_do:hover {
		color: #6698FF;
		background-color: transparent;
		border: 1px solid #6698FF;
		padding: 3px 14px;
	}
	.moveItem_cancel {
		color: #FFF;
		background-color: rgba(0, 0, 0, .2);
		padding: 4px 15px;
		border: 0;
		cursor: pointer;
		position: absolute;
		right: 10px;
	}
	.moveItem_cancel:hover {
		color: rgba(0, 0, 0, .3);
		background-color: transparent;
		border: 1px solid rgba(0, 0, 0, .3);
		padding: 3px 14px;
	}
	.moveItem_resize {
		cursor: se-resize;
		position: absolute;
		right: -2px;
		bottom: -2px;
		height: 10px;
		width: 10px;
	}
	.moveItem_fullScreen, .moveItem_normalScreen, .moveItem_close {
		background-color: transparent;
		border: 0;
		cursor: pointer;
	}
	.moveItem_close:hover {
		color: red;
	}
	.moveItem_fullScreen:hover, .moveItem_normalScreen:hover {
		color: #3280fc;
	}
	.moveItem_fullScreen {
		right: 40px;
	}
	.moveItem_normalScreen {
		display: none;
	}
</style>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	$(function(){		
		//移动窗口，并置顶窗口 [显示红框]
		$(".myMoveItem .moveItem_title").bind("mousedown", function(e1){
			var _this = $(this).parents(".myMoveItem");
			var oldpageX = e1.pageX;
			var oldpageY = e1.pageY;
			var oldLeft = parseInt(_this.css("left"));
			var oldTop = parseInt(_this.css("top"));
			var _clone = _this.clone().empty().css({
					"border": "1px solid red",
					"background": "transparent",
				}).appendTo(_this.parent());
			setMoveItemToppest(_clone); //置顶
			$(document).bind("mousemove.myMoveItem", function(e2){
				_clone.css("left", e2.pageX - oldpageX + oldLeft + "px");
				_clone.css("top", e2.pageY - oldpageY + oldTop + "px");
			});
			$(document).bind("mouseup.myMoveItem", function(e2){
				setMoveItemToppest(_this); //置顶
				_this.css("left", parseInt(_clone.css("left")));
				_this.css("top", parseInt(_clone.css("top")));
				_clone.remove();
				$(document).unbind("mousemove.myMoveItem");
				$(document).unbind("mouseup.myMoveItem");
			});
		});
		
		//移动窗口，并置顶窗口 [不显示红框，直接移动] [使用方法：取消这个注释，然后注释上面那个]
		// $(".myMoveItem .moveItem_title").bind("mousedown", function(e1){
		// 	var _this = $(this).parents(".myMoveItem");
		// 	var oldpageX = e1.pageX;
		// 	var oldpageY = e1.pageY;
		// 	var oldLeft = parseInt(_this.css("left"));
		// 	var oldTop = parseInt(_this.css("top"));
		// 	setMoveItemToppest(_this); //置顶
		// 	$(document).bind("mousemove.myMoveItem", function(e2){
		// 		_this.css("left", e2.pageX - oldpageX + oldLeft + "px");
		// 		_this.css("top", e2.pageY - oldpageY + oldTop + "px");
		// 	});
		// 	$(document).bind("mouseup.myMoveItem", function(e2){
		// 		$(document).unbind("mousemove.myMoveItem");
		// 		$(document).unbind("mouseup.myMoveItem");
		// 	});
		// });
		
		//点击时置顶
		$(".myMoveItem").bind("click", function(){
			setMoveItemToppest($(this));
		});
		
		//置顶窗口方法
		function setMoveItemToppest(_this){
			function sortNumber(a, b) {return a-b;}
			var zIndexArr = [];
			$(document).find(".myMoveItem").each(function(){
				zIndexArr.push(parseInt($(this).css("z-index")));
			});
			zIndexArr.sort(sortNumber);
			_this.css("z-index", zIndexArr[zIndexArr.length-1] + 1);
		}
		
		//右下角改变窗口大小
		$(".myMoveItem .moveItem_resize").bind("mousedown", function(e1){
			var _this = $(this).parents(".myMoveItem");
			var oldpageX = e1.pageX;
			var oldpageY = e1.pageY;
			var oldWidth = parseInt(_this.css("width"));
			var oldHeight = parseInt(_this.css("height"));
			$(document).bind("mousemove.myMoveItem", function(e2){
				if((e2.pageX - oldpageX + oldWidth) > 150 && (e2.pageY - oldpageY + oldHeight) > 150){
					_this.css("width", e2.pageX - oldpageX + oldWidth + "px");
					_this.css("height", e2.pageY - oldpageY + oldHeight + "px");
					// _this.children(".moveItem_body").css("height", "calc(100% - 95px)");
				}
			});
			$(document).bind("mouseup.myMoveItem", function(e2){
				$(document).unbind("mousemove.myMoveItem");
				$(document).unbind("mouseup.myMoveItem");
			});
		});
		
		//关闭按钮
		$(".myMoveItem .moveItem_close").click(function(){
			$(this).parents(".moveItem_header").parent().hide();
		});
		
		//取消按钮
		$(".myMoveItem .moveItem_cancel").click(function(){
			$(this).parents(".moveItem_footer").parent().remove();
		});
		
		//全屏按钮
		$(".moveItem_fullScreen").click(function(e){
			$(this).hide();
			$(this).siblings(".moveItem_normalScreen").attr("css-data", $(this).parents(".moveItem_header").parent().attr("style"));
			$(this).parents(".moveItem_header").parent().css({
				"left":"0",
				"top":"0",
				"height":"100%",
				"width":"100%",
			});
			// $(this).parents(".myMoveItem").children(".moveItem_body").css("height", "calc(100% - 95px)");
			$(this).siblings(".moveItem_normalScreen").show();
		});
		
		//还原按钮
		$(".moveItem_normalScreen").click(function(){
			$(this).parents(".moveItem_header").parent().attr("style", $(this).attr("css-data"));
			$(this).hide();
			$(this).siblings(".moveItem_fullScreen").show();
		});
	});
	
	
</script>
