モーダルウィンドウ内の座標の取得

# はじめに
bootstrapを使用していて、モーダルでぴょこっとだしたい、しかもその中で地図画像をだして、座標を設定したい！
というよくありそうですがあまりなさそうなものを作成しました。
コアなニーズになるかと思いますが、もし使う機会がある方は使ってみてください。

# 環境

* Cssフレームワーク：Bootstrap, pure
* jqueryバージョン:3.2.1

# ソースコード

* get_coordinate.js

```.js
$('input').click(function() {
		var count=0;
		document.getElementById("map").innerHTML="<img id='imagemap' src="+MAPIMAGE+" height='380px'>";
		var beforex=$("#xcoord").val();
		var beforey=$("#ycoord").val();
		$("#xinput").val(beforex);
        $("#yinput").val(beforey);
		if(!beforex || !beforey){
			count=0;
		}else{
			var element = document.createElement('span');
	    	element.setAttribute("id", "point");
	        element.innerHTML = "●";
	        element.style.position = "absolute";
	        element.style.color ="#00FFFF";
	        element.style.left = Number(beforex)+10 + "px";
	        element.style.top = Number(beforey)+20 + "px";
	        var obj = document.getElementById("map");
	        obj.appendChild(element);
	        count +=1;
		}

		document.onmousemove = function(e) {
			var x;
			var y;
			var areaOffset = $('#map').offset();
		    //pageX/Yプロパティ
		    x = parseInt(e.pageX-areaOffset.left);
		    y = parseInt(e.pageY-areaOffset.top);
		    if(x>0 && x<466 && y>0 && y<380){
			    document.getElementById('zx').innerHTML = "X：" + x;
			    document.getElementById('zy').innerHTML = "Y：" + y;
		    }else{
		    	document.getElementById('zx').innerHTML = "X：" + "測定不能";
			    document.getElementById('zy').innerHTML = "Y：" + "測定不能";
		    }
		  }
		$("#map").on('click',function(event){
			var x;
			var y;
			var areaOffset = $('#map').offset();

		    //pageX/Yプロパティ
		    x = parseInt(event.pageX-areaOffset.left);
		    y = parseInt(event.pageY-areaOffset.top);
		    if(x>0 && x<466 && y>0 && y<466){
		    	if(count >0){
		    		$('span#point').remove();
		    		count =0;
		    	}
		    	var element = document.createElement('span');
		    	element.setAttribute("id", "point");
		        element.innerHTML = "●";
		        element.style.position = "absolute";
		        element.style.color ="#00FFFF";
		        element.style.left = x+10 + "px";
		        element.style.top = y+20 + "px";
		        var obj = document.getElementById("map");
		        obj.appendChild(element);
		        $("#xinput").val(x);
		        $("#yinput").val(y);

		        count +=1;
		    }
		});
		$('#modal-coordinate-tmp').modal();
    });
```

coordinate.html

```.html
<input id="xcoord" type="text" placeholder="X座標" disabled="disabled" ></input>
<input id="ycoord" type="text" placeholder="Y座標" disabled="disabled" ></input>

<div class="modal fade" id="modal-coordinate-tmp" tabindex="-1">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<h4 class="modal-title">クリックしてください</h4>
				<button type="button" class="close" data-dismiss="modal"><span>&times;</span></button>
			</div>

			<form class="pure-form" method="get">
				<div class="modal-body">
					<div class="modal-text">
						<p></p>
						<div id="map">

						</div>
						<div class="pure-g">
							<div id="zx" class="pure-u-1-2"></div>
							<div id="zy" class="pure-u-1-2"></div>
						</div>
						<div class="pure-g">
							    <div class="pure-u-1-2">
							        <input id="xinput" class="pure-input-1" type="text" placeholder="X座標"></input>
							    </div>
							    <div class="pure-u-1-2">
							        <input id="yinput" class="pure-input-1" type="text" placeholder="Y座標"></input>
							    </div>
						</div>

					</div>
				</div>

				<div class="modal-footer">
					<button id="cancelbutton-coordinate" type="button" data-dismiss="modal"><img id="MORDAL_CANCELBUTTON_ICON"></img>キャンセル</button>
					<button id="decisionbutton-coordinate" type="button" data-dismiss="modal"><img id="MORDAL_OKBUTTON_ICON"></img>OK</button>
				</div>
			</form>
		</div>
	</div>
</div>
```

# 説明
* get_coordinate.jsを簡単に説明します
 - 現在の値を取得し、モーダルウィンドウ内に表示している値にセットします。
 - document.onmousemoveを用いてマウスホバー中のモーダルウィンドウ内での座標を取得します
 - $("#map").on('click',function(event){});でマップ画像内をクリックしたときのみモーダルウィンドウ内のinputに座標を置き換えます。


# おわりに
QiitaにUpするときにソースが特定できそうな情報を切り抜いたので、
動作できないという際にはid名の紐付きがずれてる可能性があります。
もし、動作しない等あれば、コメントいただければ、確認したいと思います。