案例:鼠標拖拽

<!DOCTYPE?html>

<html?lang="en">

<head>

<meta?charset="UTF-8">

<meta?name="viewport"?content="width=device-width,?initial-scale=1.0">

<meta?http-equiv="X-UA-Compatible"?content="ie=edge">

<title>Document</title>

<style>

.box?{

????position:?absolute;

????left:?0;

????top:?0;

????width:?100px;

????height:?100px;

????background:?red;

}

</style>

</head>

<body>

文字?<br?/>

文字?<br?/>

文字?<br?/>

文字?<br?/>

文字?<br?/>

文字?<br?/>

文字?<br?/>

<div?class="box">文字</div>???

<script?src="fns.js"></script>?

<script>

{

????//?拖拽

????let?box?=?document.querySelector(".box");

????//?鼠標按下事件

????let?startMouse?=?{};

????let?startEl?=?{};

????//?鼠標移動

????let?move?=?(e)=>{

????????let?nowMouse?=?{

????????????x:?e.clientX,

????????????y:?e.clientY

????????};

????????let?disMouse?=?{

????????????x:?nowMouse.x?-?startMouse.x,

????????????y:?nowMouse.y?-?startMouse.y

????????};

???????css(box,"left",startEl.x?+?disMouse.x);

???????css(box,"top",startEl.y?+?disMouse.y);

????};

????box.addEventListener("mousedown",(e)=>{

????????startMouse?=?{

????????????x:?e.clientX,

????????????y:?e.clientY

????????};

????????startEl?=?{

????????????x:?css(box,"left"),

????????????y:?css(box,"top")

????????}

????????document.addEventListener("mousemove",move);

????????document.addEventListener("mouseup",()=>{

????????????document.removeEventListener("mousemove",move);

????????},{

????????????once:?true

????????});

????????e.preventDefault();

????});

}

</script>

</body>

</html>

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容