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 相关文章推荐
JavaScript OOP面向对象介绍
Dec 02 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
jQuery实现为控件添加水印文字效果(附源码)
Dec 02 Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 Javascript
详解支持Angular 2的表格控件
Jan 19 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
Aug 17 jQuery
微信小程序仿朋友圈发布动态功能
Jul 15 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
Aug 14 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
Node.js使用supervisor进行开发中调试的方法
Mar 26 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
Apr 26 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
在PWS上安装PHP4.0正式版
2006/10/09 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
深入PHP内存相关的功能特性详解
2013/06/08 PHP
php获取根域名方法汇总
2014/10/28 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
JavaScript中获取元素索引的函数
2010/09/10 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
详解node.js中的npm和webpack配置方法
2018/01/21 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
Python统计单词出现的次数
2018/04/04 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
大学生创业计划书的用途
2014/01/08 职场文书
工作失职检讨书范文
2014/01/16 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
毕业晚会主持词
2014/03/24 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
分享7个 Python 实战项目练习
2022/03/03 Python