쓸만한 주저리

개체 이동 스크립트 수정판

봄돌73 2009. 9. 29. 14:42

이전에는 마우스를 누르는 순간,

개체의 중앙에 마우스 커서가 가도록 개체를 움직였는데

이제는 마우스를 눌러도 개체가 움직이지 않는다.

마우스를 누른 채 움직여야 개체가 움직인다.

초기에 팍하고 개체가 움직이는 게 보기 싫어서 조금 고쳤다.

대신 마우스가 쉽사리 개체의 바깥으로 나가 버리는(개체의 속도 보다 마우스 속도가 빠르다.) 경우가 자주 생긴다.

사용자가 익숙해져야 한다.



var move=false
var x=0,y=0
function movespan(e){
  if(move && movingspanobj!=null){
    if(e){
      //불여우용
      x=e.pageX
      y=e.pageY
    }
    else{
      //ie용
      x=window.event.clientX
      y=window.event.clientY
    }
    try{
      document.selection.empty()
    }
    catch(e){
      window.getSelection().removeAllRanges();
    }
    //세로 이동
    movingspanobj.style.top=y-distance_y
    //movingspanobj.style.top=y-20
    //가로 이동
    movingspanobj.style.left=x-distance_x
    //movingspanobj.style.left=((x-movingspanobj.offsetWidth/2)-150)
  }
}

var distance_x,distance_y,movingspanobj

document.onmousedown=new Function('move=true')
document.onmouseup=new Function('move=false;movingspanobj=null')

function movethis(spanobj){
  if(window.event){
    //ie용
    x=window.event.clientX
    y=window.event.clientY
  }
  else{
    //불여우용
    x=e.pageX
    y=e.pageY
  }
  movingspanobj=spanobj
  distance_x=x-movingspanobj.offsetLeft
  distance_y=y-movingspanobj.offsetTop
  movingspanobj.onmousemove=movespan
}