js 테이프 드래그 실현

2867 단어 전단 개발
테 두 리 를 끼 고 끌다.
목차
  • 코드 인 스 턴 스
  • 코드 분석
  • 원본 링크 다운로드
  • 코드 인 스 턴 스
    
    
    
          
      
    
    
      
    // (function(){ // var oDiv1=document.getElementById('div1') var oDrag1=document.getElementById('drag1') oDrag1.onmousedown=function(ev){ var oEvent=ev||event // var pos=getMousePosition(oEvent) var disX=pos.x - oDrag1.offsetLeft var disY=pos.y - oDrag1.offsetTop // var oBox=document.createElement('div') oBox.className='box' oBox.style.width=oDrag1.offsetWidth-2+'px' oBox.style.height=oDrag1.offsetHeight-2+'px' // , oBox.style.left=oDrag1.offsetLeft+'px' oBox.style.top=oDrag1.offsetTop+'px' // oDiv1 , oDiv1.appendChild(oBox) // if(oBox.setCapture){ // Ie7-11 oBox.onmousemove=mouseMove oBox.onmouseup=mouseUp // oBox.setCapture() }else{ // FF,Chrome document.onmousemove=mouseMove document.onmouseup=mouseUp } // function getMousePosition(ev){ // scrollTop var scrollTop=document.documentElement.scrollTop||document.body.scrollTop var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft return {x:ev.clientX + scrollLeft,y:ev.clientY+scrollTop} } // function mouseMove(ev){ // l,t var oEvent=ev||event var pis=getMousePosition(oEvent) var l=pis.x-disX var t=pis.y-disY oBox.style.left=l+'px' oBox.style.top=t+'px' } // function mouseUp(){ // this.onmousemove=null this.onmouseup=null oDrag1.style.left=oBox.offsetLeft+'px' oDrag1.style.top=oBox.offsetTop+'px' // oDiv1.removeChild(oBox) if (oBox.releaseCapture) { oBox.releaseCapture() } } // FF return false } })();

    코드 분석
  • oEvent = ev | | event 는 각 브 라 우 저 를 호 환 하기 위해 FireFox 브 라 우 저 에서 이벤트 바 인 딩 함수 가 이벤트 자 체 를 가 져 오 려 면 함수 에서 들 어 와 야 하고 IE 등 브 라 우 저 는 이벤트 나 window. event 를 직접 사용 하여 이벤트 자 체 를 가 져 올 수 있 습 니 다
  • 원본 링크 다운로드
    별빛 Github

    좋은 웹페이지 즐겨찾기