JS拖拽效果的原理及實現


JS拖拽效果的原理及實現

大家好,今天來給大家講解一下JS中拖拽效果的原理及實現。

首先我們先看一下拖拽效果的代碼以及實現效果

 

是不是很神奇呢?

接下來我們來拆分理解一下代碼

style部分我們就不詳說了,但是一定要記得給div加position定位!!!!!!

首先我們寫一下這個例子的實施思路:

       拖拽div,我們要按下鼠標點盒子,

然后盒子被鼠標移動

最后鼠標左鍵放開盒子停止被移動

就這簡簡單單的三個步驟

我們來看一下JS代碼:

var div=document.querySelector("div");

這里就是獲取div元素

①   div.onmousedown=function(e1){

②   document.onmousemove=function(e){

                div.style.left=e.clientX-e1.offsetX+"px";

                div.style.top=e.clientY-e1.offsetY+"px";

            }

③   document.onmouseup=function(){

                document.onmousemove=null;

                document.onmouseup=null;

            }

        }

這里的①②③部分就是我們所說的三個步驟

①    我們要想移動div就必須先按下左鍵然后才移動,所以②③部分就是包含在①步驟之內的,

②    定義鼠標移動函數:div的左邊/頂邊等於鼠標移動是的視口X / Y的距離減去相對於帶有定位的父盒子的X / Y坐標,如果只設置視口X / Y的坐標它就只會在div的左上角移動,設置了offsetX/Y之后就會點哪里就在哪里移動

③    定義鼠標放開后在文檔內的函數,這時候鼠標移動函數和它自身的函數就要取消。

到這里我們的拖拽事件就完成啦,是不是很簡單呢?快去動手實踐一下吧!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM