js實現拖拽效果(一) 原理實現

2021-09-24 11:11:28 字數 1113 閱讀 5665

js 拖拽乙個元素的原理:

首先要明白三個值

滑鼠的位置a =

盒子的位置b =

滑鼠在盒子內的距離c =

涉及到三個滑鼠事件

然後就可以開始講明實現過程了

html

class

="box"

>

div>

css

.box

.box:hover

js

var box = document.

queryselector

('.box'

)// 獲取元素的樣式

vargetstyle

=function

(element)

// 獲取目標元素的位置

vargettargetpos

=function

(elem)

return pos

}// 設定目標元素的位置

varsettargetpos

=function

(elem, pos)

box.

addeventlistener

('mousedown'

,function

(event)

// 滑鼠按下的時候,記錄滑鼠在div內部的距離

var innerdis =

varmove

=function

(event))}

varend

=function()

// 必須繫結在document物件上,如果繫結在box物件上,當滑鼠脱快了移出box盒子時,就會產生bug

document.

addeventlistener

('mousemove'

, move,

false

) document.

addeventlistener

('mouseup'

, end,

false)}

)

這樣做實現了效果,但並不利用復用

js拖拽效果的原理及實現

一 拖拽的流程 1 滑鼠按下 2 滑鼠移動 3 滑鼠鬆開 二 拖拽時觸發的事件 1 按下滑鼠 要拖拽的元素.onmousedown function e1 2 移動滑鼠 document.onmousemove function e 3 鬆開滑鼠 document.onmouseup functio...

js拖拽效果的原理及實現

js 拖拽乙個元素的原理 首先要明白三個值 滑鼠的位置a 盒子的位置b 滑鼠在盒子內的距離c 涉及到三個滑鼠事件 滑鼠按下時,mousedown 滑鼠移動時,mousemove 滑鼠鬆開時,mouseup 然後就可以開始講明實現過程了 滑鼠按下的時候,計算出c,滑鼠在盒子裡距離 滑鼠位置 盒子位置 ...

js實現滑鼠拖拽效果

拖拽狀態 0 滑鼠在元素上按下的時候 滑鼠在元素上移動的時候 滑鼠在任何時候放開的時候 將以上思路翻譯成js 就可以實現拖拽的效果了。上面這個原理也可以演變為 拖拽原理2 拖拽狀態 0 滑鼠在元素上按下的時候 滑鼠在元素上移動的時候 滑鼠在任何時候放開的時候 將以上思路翻譯成js 就可以實現拖拽的效...