网站首页 > 文章精选 正文
/*
* 拖动图片封装
html格式:<img lay-src="${item.Resourcesurl}" alt="${item.ResourcesName}" style="position: absolute;" onmousemove="drag(this)" >
*/
function drag(obj) {
/*实现div的拖拽功能
* 实现拖拽功能的思路
* 首先需要鼠标按下之后 onmousedown()
* div会跟随鼠标进行移动 onmousemove()
* 在鼠标松开之后,div会立刻固定位置 onmouseup()
*/
//当鼠标在被拖拽元素上按下时,开始拖拽 onmousedown
obj.onmousedown = function (event) {
//设置捕获所有鼠标按下的事件
/*
* setCapture()
* - 只有IE支持,但是在火狐中调用时不会报错,
* 而如果使用chrome调用,会报错
*/
/*if(box1.setCapture){
box1.setCapture();
}*/
obj.setCapture && obj.setCapture();
event = event || window.event;
//div的偏移量 鼠标.clentX - 元素.offsetLeft
//div的偏移量 鼠标.clentY - 元素.offsetTop
var ol = event.clientX - obj.offsetLeft;
var ot = event.clientY - obj.offsetTop;
//为document绑定一个onmousemove事件
document.onmousemove = function (event) {
event = event || window.event;
//当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
//获取鼠标的坐标
var left = event.clientX - ol;
var top = event.clientY - ot;
// console.log(left, top);
//修改box1的位置
obj.style.left = left + "px";
obj.style.top = top + "px";
};
//为document绑定一个鼠标松开事件
document.onmouseup = function () {
//当鼠标松开时,被拖拽元素固定在当前位置 onmouseup
//取消document的onmousemove事件
document.onmousemove = null;
//取消document的onmouseup事件
document.onmouseup = null;
//当鼠标松开时,取消对事件的捕获
obj.releaseCapture && obj.releaseCapture();
};
/*
* 当我们拖拽一个网页中的内容时,浏览器会默认去搜索引擎中搜索内容,
* 此时会导致拖拽功能的异常,这个是浏览器提供的默认行为,
* 如果不希望发生这个行为,则可以通过return false来取消默认行为
*
* 但是对IE8不起作用
*/
return false;
};
}
猜你喜欢
- 2025-06-18 网页禁止复制粘贴怎么办?教你6招,快速搞定
- 2025-06-18 如何丝滑的实现首页看板拖拉拽功能?
- 2025-06-18 优雅而酷炫的自定义CSS滚动条(css设置div滚动条样式)
- 2025-06-18 怎么将PDF文件转换为HTML?分享四种实用方法
- 2025-06-18 前端人必看!这 10 个 JavaScript 技巧,让你代码效率狂飙 99%!
- 2025-06-18 数据大屏怎么做?这个项目让你轻松拖拽做大屏
- 2025-06-18 前端开发HTML中的Javascript交互图
- 2025-06-18 6个冷门但实用的前端测试及开发相关的chrome浏览器插件
- 2025-06-18 「按键精灵」旋转验证(按键精灵角色转动角度)
- 2025-06-18 基于 vue+element-ui 动态拖拽表单组件NGForm
- 06-18技术分享 | Web自动化之Selenium安装
- 06-18postman系列之批量执行接口测试用例
- 06-18Junit5 架构、新特性及基本使用(常用注解与套件执行)
- 06-18「技术分享」postman完整的接口测试
- 06-18HTTP接口测试工具Postman(接口测试url)
- 06-18postman--实现接口自动化测试(postman接口自动化框架)
- 06-18讲解LDO(讲解的近义词)
- 06-18震撼!2020国际摄影奖获奖佳作欣赏
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)