拖拽效果
Posted debug
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拖拽效果相关的知识,希望对你有一定的参考价值。
html
<div id="ball"></div>
css
#ballwidth: 100px; height: 100px; background: blue; border-radius: 50%; position: absolute;
js
function $elem(id)
return document.getElementById(id);
let [enbleMove, ballOffsetX, ballOffsetY] = [false, 0, 0];
//鼠标按下
$elem('ball').addEventListener(
'mousedown', e=>
[enbleMove, ballOffsetX, ballOffsetY] = [true, e.offsetX, e.offsetY];
e.target.style.cursor = 'move';
);
//鼠标移动
window.addEventListener(
'mousemove', e=>
if(enbleMove)
$elem('ball').style.top = (e.clientY - ballOffsetY) + 'px';
$elem('ball').style.left = (e.clientX - ballOffsetX) + 'px';
);
//鼠标弹起
$elem('ball').addEventListener(
'mouseup', e=>
enbleMove = false;
e.target.style.cursor = 'default';
);
以上是关于拖拽效果的主要内容,如果未能解决你的问题,请参考以下文章