本文实例分析了JS实现拖拽的方法。分享给大家供大家参考,具体如下:

分析:
1.鼠标按下,拖拽开始,鼠标移动,拖拽进行,鼠标抬起,拖拽结束(三个事件)
2.被拖动元素与鼠标之间的位置在拖动过程中始终不变,利用这个原理,被拖动元素的位置就是鼠标的左(上)边距-鼠标与被拖动元素之间的距离
注意:onmousemove应该是在onmousedown发生时进行,不然不需要点击也能拖动了。
用户可能会将拖动层脱出窗口外。
核心代码:
window.onload=function(){
var box=document.getElementById("div");
var disX;
var disY;
box.onmousedown=function(ev){ //如果三个事件都用在box上,拖得快一点,鼠标脱离移动层,移动层就拖不动了
var oEvent=ev||event;
disX=oEvent.clientX-box.offsetLeft;
disY=oEvent.clientY-box.offsetTop;
document.onmousemove=function(ev){
var oEvent=ev||event;
var l=oEvent.clientX-disX;
var t=oEvent.clientY-disY;
if(l<0){
l=0;
}else if(l>document.documentElement.clientWidth-box.offsetWidth){
l=document.documentElement.clientWidth-box.offsetWidth;
}
if(t<0){
t=0;
}else if(t>document.documentElement.clientHeight-box.offsetHeight){
t=document.documentElement.clientHeight-box.offsetHeight;
}
box.style.left=l+'px';
box.style.top=t+'px';
};
document.onmouseup=function(){
document.onmousemove=null;
document.onmouseup=null; //鼠标抬起来后,onmouseup事件本身也没意义了,所以最好清理掉
};
return false; //阻止默认行为,空的div在低版本ff下,第二次拖动手型会变异常
};
}
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
# JS
# 拖拽
# js实现的简练高效拖拽功能示例
# 利用JavaScript实现拖拽改变元素大小
# js实现小窗口拖拽效果
# Dropzone.js实现文件拖拽上传功能(附源码下载)
# Sortable.js拖拽排序使用方法解析
# js实现拖拽效果
# js完美的div拖拽实例代码
# 鼠标拖拽移动子窗体的JS实现
# 使用js实现的简单拖拽效果
# js实现横向拖拽导航条功能
# 鼠标
# 拖动
# 是在
# 相关内容
# 也没
# 不需要
# 也能
# 遍历
# 感兴趣
# 数据结构
# 给大家
# 按下
# 动了
# 会将
# 用在
# 更多关于
# 所述
# 程序设计
# 过程中
相关文章:
独立制作一个网站多少钱,建立网站需要花多少钱?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
网站制作价目表怎么做,珍爱网婚介费用多少?
网站制作报价单模板图片,小松挖机官方网站报价?
广州营销型建站服务商推荐:技术优势与SEO优化解析
如何快速登录WAP自助建站平台?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
如何在Windows 2008云服务器安全搭建网站?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
,怎么在广州志愿者网站注册?
网站微信制作软件,如何制作微信链接?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
韩国服务器如何优化跨境访问实现高效连接?
网页设计与网站制作内容,怎样注册网站?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
教学论文网站制作软件有哪些,写论文用什么软件
?
焦点电影公司作品,电影焦点结局是什么?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
建站之星在线客服如何快速接入解答?
建站三合一如何选?哪家性价比更高?
c++ stringstream用法详解_c++字符串与数字转换利器
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何选择最佳自助建站系统?快速指南解析优劣
建站之星下载版如何获取与安装?
如何在西部数码注册域名并快速搭建网站?
开心动漫网站制作软件下载,十分开心动画为何停播?
建站VPS选购需注意哪些关键参数?
建站之星云端配置指南:模板选择与SEO优化一键生成
盘锦网站制作公司,盘锦大洼有多少5G网站?
如何选择适配移动端的WAP自助建站平台?
如何在腾讯云服务器上快速搭建个人网站?
如何在万网自助建站平台快速创建网站?
黑客如何通过漏洞一步步攻陷网站服务器?
临沂网站制作公司有哪些,临沂第四中学官网?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何快速建站并高效导出源代码?
小程序网站制作需要准备什么资料,如何制作小程序?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
如何在阿里云高效完成企业建站全流程?
如何快速生成凡客建站的专业级图册?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
如何高效配置香港服务器实现快速建站?
建站之星如何快速生成多端适配网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
成都网站制作报价公司,成都工业用气开户费用?
如何在香港免费服务器上快速搭建网站?
教程网站设计制作软件,怎么创建自己的一个网站?
如何在阿里云ECS服务器部署织梦CMS网站?
建站主机选择指南:服务器配置与SEO优化实战技巧
*请认真填写需求信息,我们会在24小时内与您取得联系。