思路:
1、拖拽
- 获取元素
- 绑定事件:当鼠标按下时,可以拖走;鼠标移动时,拖着走;鼠标抬起时,不能拖走
2、边界值判定
当鼠标将要超过边界值时,强行让元素位置固定在边界上
效果:
一、布局
<div id="drag"></div>
二、css样式
* {
margin: 0;
padding: 0;
}
#drag {
background-color: lightgreen;
width: 50px;
height: 50px;
border-radius: 50%;
position: fixed;
}
三、原生js
- 拖拽
//获取元素
var drag = document.getElementById('drag')
//设置一个开关
var flag = false
drag.addEventListener('mousedown', function() {
//鼠标点下时开关打开
flag = true
})
document.onmousemove = function(e) {
//开关闭合时不执行函数
if (flag == false) return
//事件对象获取(兼容模式)
e &