JavaScript中的拖拽事件
时间:2020-04-14
本文章向大家介绍JavaScript中的拖拽事件,主要包括JavaScript中的拖拽事件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>拖拽</title>
<style>
div{
width: 100px;
height: 100px;
background-color: brown;
position: absolute;
}
#box1{
width: 100px;
height: 100px;
position: absolute;
left: 200px;
background-color:skyblue;
}
img{
width: 100px;
height: 100px;
position: absolute;
left: 400px;
}
</style>
<script>
window.onload = function () {
var box = document.querySelector("#box");
var box1 = document.querySelector("#box1");
var img = document.querySelector("#img");
drag(box);
drag(box1);
drag(img);
// 将拖拽功能封装成了一个函数
function drag(obj) {
obj.onmousedown = function (event) {
// 兼容IE8 调用IE特有的方法setCapture()
obj.setCapture && obj.setCapture();
event = event || window.event;
// 得到盒子和鼠标之间的相对位移
var ol = event.clientX - obj.offsetLeft;
var ot = event.clientY - obj.offsetTop;
document.onmousemove = function (event) {
event = event || window.event;
// 更改盒子的偏移量, 并减去盒子和鼠标的相对位移
obj.style.left = event.clientX - ol + "px";
obj.style.top = event.clientY - ot + "px";
// 兼容IE8 调用IE特有的方法releaseCapture()
obj.releaseCapture && obj.releaseCapture();
};
document.onmouseup = function () {
// 结束事件onmousemove onmouseup
document.onmousemove = null;
document.onmouseup = null;
};
return false;
};
}
};
</script>
</head>
<body>
<div id="box"></div>
<div id="box1"></div>
<img src="../../images/headPortrait.jpg" id="img">
</body>
</html>
原文地址:https://www.cnblogs.com/TomHe789/p/12695904.html
- .NET Core采用的全新配置系统[2]: 配置模型设计详解
- 采用双拼域名meicai.cn的美菜网融资4.5亿美元
- 区块链技术或将迎来突破性进展,以特币未来生机勃勃
- 配置多个网卡的OpenStack VM
- .NET Core采用的全新配置系统[3]: “Options模式”下的配置是如何绑定为Options对象
- 游戏用户中心开发
- .NET Core采用的全新配置系统[4]: “Options模式”下各种类型的Options对象是如何绑定的?
- js运算符优先级笔记
- 通过协同绘制用GAN合成高分辨率无尽道路
- ASP.NET MVC的Model元数据与Model模板:预定义模板
- 为您的组织选择正确的企业云解决方案
- 搞定这些疑难杂症,向css3动画说yes
- 前十一个网络游戏业务收入1341亿 同比增22.1%
- ASP.NET MVC Model元数据及其定制:一个重要的接口IMetadataAware
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 前端构建 DevOps - Gitlab Api
- 重要性抽样方法实例分享
- K8S 生态周报| Helm v3.3.4 发布
- 项目实战|缓存处理
- 前端构建 DevOps - 搭建 DevOps 基础平台(上)
- 线剪裁算法简介
- 使用OpenCV和Python生成电影条形码
- 前端构建 DevOps - 搭建 DevOps 基础平台(中)
- 从 0 到 1 node 项目管理系统:搭建基础平台(下)
- Fiddler是个问题少女,又作又可招人爱
- devOps:构建篇-Jenkins
- H5 基础脚手架:极速构建项目
- 从 0 到 1 的项目管理系统:脚手架篇 - H5 基础脚手架
- Codeforces Round #612 (Div. 2) A. Angry Students
- 项目实战-埋点系统初探