자바스크립트 질문드립니다. 채택완료
서잰션
5년 전
조회 2,038
</p>
<p><script type='text/javascript'>
var img_L = 0;
var img_T = 0;
var targetObj;</p>
<p>function getLeft(o){
return parseInt(o.style.left.replace('px', ''));
}
function getTop(o){
return parseInt(o.style.top.replace('px', ''));
}</p>
<p>// 이미지 움직이기
function moveDrag(e){
var e_obj = window.event? window.event : e;
var dmvx = parseInt(e_obj.clientX + img_L);
var dmvy = parseInt(e_obj.clientY + img_T);
targetObj.style.left = dmvx +"px";
targetObj.style.top = dmvy +"px";
return false;
}</p>
<p>// 드래그 시작
function startDrag(e, obj){
targetObj = obj;
var e_obj = window.event? window.event : e;
img_L = getLeft(obj) - e_obj.clientX;
img_T = getTop(obj) - e_obj.clientY;</p>
<p> document.onmousemove = moveDrag;
document.onmouseup = stopDrag;
if(e_obj.preventDefault)e_obj.preventDefault();
}</p>
<p>// 드래그 멈추기
function stopDrag(){
document.onmousemove = null;
document.onmouseup = null;
startDrag(e,obj);
}
</script></p>
<p><div class='left' onmousedown='startDrag(event, this);' style='width:30%; height:100%; float:left; background-color:#cccccc; margin-left:20px; opacity:0.2;position:absolute;left:0px;top:10px; z-index: 500;'>
왼쪽
</div></p>
<p>
해당 자바스크립트를 적용하면 div를 마우스로 드래그가 가능하게 되었는데 이걸 처음 보이는 화면밖으로 못가게 할려면 어떻게 해야하나요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
5년 전
</p>
<pre>
var dmvx = parseInt(e_obj.clientX + img_L);
var dmvy = parseInt(e_obj.clientY + img_T);
// 창의 크기는 window.height, window.width 를 참조하시고
// 여기에서 dmvx, dmvy 값을 확인하셔서 조정해주세요
targetObj.style.left = dmvx +"px";
targetObj.style.top = dmvy +"px";</pre>
<p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인