實現 元素 可拖拽

2021-10-08 17:19:47 字數 1480 閱讀 1073

// css部分

* body

.drag-item

// html部分

="drag-item"

>

<

/div>

// js部分

var dragitem=document.

getelementsbyclassname

("drag-item")[

0];var divx,divy,startmou***,startmousey,endmou***,endmosuey,drag=

false

;// 元素位置x,y,開始滑鼠位置x,y, 結束滑鼠位置x,y , 是否拖拽的標誌位

dragitem.

onmousedown

=function

(e) dragitem.

onmousemove

=function

(e)}

dragitem.

onmouseup

=function

(e)

這樣就已經實現了元素的拖拽。

在測試上面的拖拽效果時,確實可以實現元素的拖拽,但是有個問題,元素會被拖拽到了可視區域的外面。在某些場景下,我們希望元素僅僅在可視區域內部進行拖拽。

既然元素要在可視範圍內拖拽,那麼知道元素可以拖拽的距離是非常必要的。

var dragitem=document.

getelementsbyclassname

("drag-item")[

0];var divx,divy,startmou***,startmousey,endmou***,endmosuey,drag=

false

;var maxmovew=document.body.offsetwidth-dragitem.offsetwidth;

// 最大可拖拽水平距離

var maxmoveh=document.body.offsetheight-dragitem.offsetheight;

// 最大可拖拽垂直距離

dragitem.

onmousedown

=function

(e) dragitem.

onmousemove

=function

(e)if

(currentdivx<0)

if(currentdivy>maxmoveh)

if(currentdivy<0)

dragitem.style.top=currentdivy+

"px"

; dragitem.style.left=currentdivx+

"px";}

} dragitem.

onmouseup

=function

(e)

Vue 實現元件可拖拽

一 templateclass item v for item,index in items key index draggable true dragstart handledragstart event,item dragover.prevent handledragover event,ite...

js實現可拖拽的div

doctype html html lang en head meta charset utf 8 title zzw drap title style box bar content style head body div id box div id bar 可拖拽頭部 div div id co...

Selenium 實現網頁元素拖拽

drag and drop,使用滑鼠實現元素拖拽的操作貌似很複雜,在 selenium中,借助openqa.selenium.interactions.actions類庫中提供的方法,實現起來還是比較簡單的。道理如下 1.找到要拖拽的頁面元素 源 source 2.找到要釋放的頁面元素 目標 tar...