JavaScript怎么实现简单拖拽效果
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"JavaScript怎么实现简单拖拽效果",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript怎么实现简单拖拽效果"吧!本文
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网科技工作委员会主任
鸠鸠互联网科技
美国互联网科技巨头监管
科技与互联网发展
极限挑战互联网科技
互联网女皇 腾讯科技
衡水科技产业互联网平台
互联网科技公司需要的职位
顶级互联网科技成果有哪些
湖南诚度互联网科技有限公司
世界互联网科技公司市值排名
广州新华互联网科技学校电竞方面
翼展科技 首家互联网医院
互联网在线教育科技创业
互联网科技如何创业
互联网金融科技名词解释
保险科技服务互联网营销体系
黑科技 体验场景 互联网大会
广州燕处互联网科技有限公司
每日互联网科技新闻
花魁咖啡
广州百单互联网科技有限公司
科技赋能下的互联网金融
科技互联网公司装修
互联网 视角下的科技创新
金融科技与互联网金融相同和不同
互联网对科技的发展
武汉健翔互联网络科技有限公司
互联网科技商业
容联科技互联网电商