JavaScript怎么实现简单拖拽效果
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,本篇内容主要讲解"JavaScript怎么实现简单拖拽效果",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript怎么实现简单拖拽效果"吧!本文
千家信息网最后更新 2025年11月16日JavaScript怎么实现简单拖拽效果
本篇内容主要讲解"JavaScript怎么实现简单拖拽效果",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript怎么实现简单拖拽效果"吧!
本文实例为大家分享了JavaScript实现简单拖拽效果的具体代码,供大家参考,具体内容如下
先看实现的效果:
思路:里面用到了三个事件,鼠标按下、移动、松开事件
那么首先创建盒子并且给它赋予css样式
HTML:
// html我是个蓝色的盒子
CSS:
CSS*{margin: 0;padding: 0;} div{ width: 100px; height: 100px; background-color: cornflowerblue; position: absolute; } p{ width: 100px; height: 100px; line-height: 100px; font-size: 10px; color: #fff; text-align: center; transition: .5s all; } p:hover{ transform: translateY(-5px); transition: .5s all; box-shadow: 10px 10px 5px gray;}然后在JS设置相应的方法
var div = document.querySelector('div'); var p = document.querySelector('p'); // 先定义初始化变量x、y var x =0; var y = 0; // var i = 3; var TorF= false; //盒子里的文字无法被选中 div.onselectstart = function (e) { return false; } div.addEventListener('mousedown',function(e){ // client:鼠标按钮时输出鼠标指针的坐标 x = e.clientX; y = e.clientY; // 格式:obj.offsetLeft:获取左和上的偏移量 // 在这里特别说明一下:这个属性是只读的,不能够赋值。 // 返回当前元素距离父元素(body)左边的距离 // 这里的l,t并不是声明了一个全局变量,而是创建了一个全局对象的属性。 l = div.offsetLeft; t = div.offsetTop; // 鼠标设置移动箭头 div.style.cursor = 'move'; p[xss_clean] = '我被按下了 ^_^'; TorF= true; }); // 当整个屏幕触发移动事件时 document.addEventListener('mousemove',function(e){ // 如果为false则终止函数的执行并返回函数的值 if (Torf == false) { return; } // 在此函数中定义局部变量 var twox = e.clientX; var twoy = e.clientY; // 用获取到的鼠标指针的坐标 - (鼠标指针的坐标 - 偏移量) = 实际鼠标拖动的位置 // 后面一定要加上px单位,因为本身获取是没有单位的 var twol = twox - (x-l); var twot = twoy - (y-t); div.style.left = twol+'px'; div.style.top = twot+'px'; p[xss_clean] = '我正在被拖动 -.-'; }); div.addEventListener('mouseup',function(){ // 松开键盘时停止鼠标移动事件 TorF= false; // 鼠标恢复默认样式 div.style.cursor = 'default'; p[xss_clean] = '我被弹开了QAQ'; })注意:
1、想控制某一个盒子的位置,必须给盒子添加定位,否则盒子不会动
2、offsetLeft这个属性是只读的,不能够赋值
3、鼠标位置的的计算:鼠标指针的坐标 - (鼠标指针的坐标 - 偏移量) = 实际鼠标拖动的位置
到此,相信大家对"JavaScript怎么实现简单拖拽效果"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
鼠标
盒子
效果
坐标
指针
事件
位置
移动
内容
函数
变量
实际
属性
偏移
元素
全局
单位
方法
样式
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络监控服务器搭建
阜阳颍泉区网络安全
手机网络安全简笔画
华为电脑支持苹果系统软件开发吗
viotica数据库
宁波数据网络技术有哪些
国家网络安全班会课
isop管理服务器
关于网络安全的实践过程记录
jva软件开发师
参加网络安全知识竞答
我的世界服务器人数
广州祥弘互联网科技有限公司
关于加强政务外网网络安全
计算机网络安全防护实例
数据库中操作要么全部完成要么
自考数据库试题
怀旧魔兽几个服务器
数据库分离后图标不对
数据库管理系统的未来展望
手机怎么关闭网络安全检测
为什么京东服务器这么强
商途网络技术有限公司
戴尔服务器E14S
工程软件开发股份公司有哪些
一个数据库应具有什么功能
常见网络安全知识
迅雷mac清除用户数据库
初中阶段软件开发学院
华师大公共数据库入口