JS 拖拽盒子

2022-07-14 15:54:14 字數 1333 閱讀 9555

注意事項:

1、opacity是全部元素變透明,rgba只是背景色變透明

2、先是註冊滑鼠按下的事件,此時就需要記錄滑鼠在盒子中的座標

3、再在滑鼠按下事件中註冊滑鼠移動事件,此時滑鼠的座標是不斷變化的,盒子的座標就是滑鼠的座標減去滑鼠在盒子的座標

4、top.onmousemove = function (ev) {},top也可以換成document,主要考慮的是滑鼠移動的太快出了盒子,改為document可以繼續維持這個事件

5、在top.onmousemove中必須取消文字被選中,不然拖拽的時候,如果選中了文字,會出現bug,選中的文字會首先被拖走,影響效果

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

title

>title

title

>

<

style

>

* .box

.top

style

>

head

>

<

body

>

<

div

class

="box"

>

<

div

class

="top"

>點選此處拖拽盒子

div>

div>

<

script

>

varbox

=document.getelementsbytagname(

"div")[

0];vartop

=box.children[0];

//點選盒子 然後拖拽

//滑鼠左鍵點選事件 滑鼠移動事件

top.onmousedown

=function

(ev)

}//解綁

原生js實現拖拽盒子

盒子必須是絕對定位的盒子 滑鼠在盒子內部按下時獲得相對座標。事件物件在頁面的位置減去盒子距離body的距離 滑鼠移動時,使得盒子的位置發生變化 滑鼠鬆開時,不再拖動 移動事件失效 lang zh charset utf 8 name viewport content width device wid...

JS 拖拽事件

這裡寫的是乙個原生js實現拖拽的效果,首先 1 實現拖拽的三大事件,是要首先清楚的 onmousedown 滑鼠按下的時候 onmousemove 滑鼠移動的時候 onmouseup 滑鼠鬆開的時候 2 給目標元素加上onmousedown時間,記錄滑鼠按下的時候,滑鼠距離所在元素的位置 就是滑鼠距...

js拖拽事件

doctype html utf 8 js拖拽事件 title page style head page div body html 這裡寫的是乙個原生js實現拖拽的效果,首先 實現拖拽的三大事件,是要首先清楚的 onmousedown 滑鼠按下的時候 onmousemove 滑鼠移動的時候 onm...