js实现的简练高效拖拽功能示例


Posted in Javascript onDecember 21, 2016

本文实例讲述了js实现的简练高效拖拽功能。分享给大家供大家参考,具体如下:

运行效果图如下:

js实现的简练高效拖拽功能示例

具体代码如下:

<!DOCTYPE HTML>
<html>
<head>
 <meta http-equiv="content-type" charset="utf-8" />
  <meta http-equiv="content-type" content="text/html" />
  <title>demo</title>
</head>
<body>
<p>aaaaaaaaaaa</p>
<div id="one" style="height:100px;width:100px;background:red;position:absolute;"></div>
<script>
var odiv=document.getElementById("one");
dra(odiv);
function dra(obj){
  obj.onmousedown=function(e){
    var oe=e||window.event;
    var $this=this;
    var l=oe.clientX-$this.offsetLeft;
    var t=oe.clientY-$this.offsetTop;
    document.onmousemove=function(e){
      var oe=e||window.event;
      var ol=oe.clientX-l;
      var ot=oe.clientY-t;
      if(ol<0) ol=0;
      if(ot<0) ot=0;
      if(ot>document.documentElement.clientHeight-$this.offsetHeight) ot=document.documentElement.clientHeight-$this.offsetHeight;
      if(ol>document.documentElement.clientWidth-$this.offsetWidth) ol=document.documentElement.clientWidth-$this.offsetWidth;
      $this.style.left=ol+"px";
      $this.style.top=ot+"px";
    }
    document.onmouseup=function(){
      document.onmousemove=null;
      document.onmouseup=null;
      if($this.releaseCapture) $this.releaseCapture();
    }
    if($this.setCapture){
      $this.setCapture();
    }
    if(oe.preventDefault) oe.preventDefault();
    else oe.returnValue=false;
    return false;
  }
}
</script>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
setTimeout和setInterval的浏览器兼容性分析
Feb 27 Javascript
jQuery 学习第五课 Ajax 使用说明
May 17 Javascript
突发奇想的一个jquery插件
Nov 19 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
Apr 06 Javascript
ECMAScript6中Set/WeakSet详解
Jun 12 Javascript
使用JQuery实现智能表单验证功能
Mar 08 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
Aug 02 Javascript
Angular.js中$apply()和$digest()的深入理解
Oct 13 Javascript
全面总结Javascript对数组对象的各种操作
Jan 22 Javascript
node.js部署之启动后台运行forever的方法
May 23 Javascript
详解如何配置vue-cli3.0的vue.config.js
Aug 23 Javascript
微信用户访问小程序的登录过程详解
Sep 20 Javascript
利用Bootstrap实现表格复选框checkbox全选
Dec 21 #Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 #Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
Dec 21 #Javascript
JS定时器用法分析【时钟与菜单中的应用】
Dec 21 #Javascript
vue.js实现仿原生ios时间选择组件实例代码
Dec 21 #Javascript
详解jQuery的表单验证插件--Validation
Dec 21 #Javascript
JS无缝滚动效果实现方法分析
Dec 21 #Javascript
You might like
文件系统基本操作类
2006/11/23 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
JavaScript 对象模型 执行模型
2009/12/06 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python读取中文txt文本的方法
2018/04/12 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
kfc实习自我鉴定
2013/12/14 职场文书
文明礼仪事迹材料
2014/01/09 职场文书
投资意向书范本
2014/04/01 职场文书
大学自主招生推荐信
2014/05/10 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
使用springMVC所需要的pom配置
2021/09/15 Java/Android