테스트 사이트 - 개발 중인 베타 버전입니다

자바스크립트 질문드립니다. 채택완료

서잰션 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>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인