<!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>
.wrapper {
background-color: pink;
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<body>
<div class="wrapper">
</div>
</body>
<script>
var wrapper = document.getElementsByClassName('wrapper')[0];
var downX,
downY,
moveX,
moveY,
distanceX,
distanceY,
zChange = false;
//左键点击事件
window.addEventListener('mousedown', down);
function down(e) {
var event = e || window.event
//点下点的坐标
downX = event.clientX;
downY = event.clientY;
//当move开关
zChange = true;
}
//鼠标移动事件
window.addEventListener('mousemove', move)
function move(e) {
var event = e || window.event
if (zChange) {
//移动市光标的坐标
moveX = event.clientX;
moveY = event.clientY;
//盒子的定位属性
wrapper.style.left = Math.min(moveX, downX) + 'px';
wrapper.style.top = Math.min(moveY, downY) + 'px';
//盒子的宽高
wrapper.style.width = Math.abs(moveX - downX) + 'px';
wrapper.style.height = Math.abs(moveY - downY) + 'px';
}
}
//鼠标抬起事件
window.addEventListener('mouseup', up);
function up() {
zChange = false;
wrapper.style.cssText = '';
}
</script>
</html>
chientX实现拖拽
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 转载注明出处:简书-十个雨点 简介 拖拽操作在现在的智能手机中并不少见,老罗的OneStep更是把拖拽做成了一种令...
- 前言 在本文中将会用Vue完成九宫格拖拽效果,同时介绍一下网格布局。具体代码以及demo可以点以下超链接进入 传送...
- 思路: 利用onmousedown事件实现拖拽。首先获得鼠标横坐标点和纵坐标点到div的距离,然后当鼠标移动后再用...
- 自从使用Docker作为部署工具后,给开发人员提供了很大的便利。近日在项目中前端应用的部署也使用了Docker,现...