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实现CheckBox的全选与取消全选的代码
Jul 20 Javascript
Jquery 绑定时间实现代码
May 03 Javascript
jquery禁用右键示例
Apr 28 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
Dec 20 Javascript
js判断手机号是否正确并返回的实现代码
Jan 17 Javascript
angular学习之ngRoute路由机制
Apr 12 Javascript
JS的Ajax与后端交互数据的实例
Aug 08 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
Mar 11 Javascript
jquery获取input输入框中的值
Nov 13 jQuery
React 实现车牌键盘的示例代码
Dec 20 Javascript
基于postman获取动态数据过程详解
Sep 08 Javascript
原生js 实现表单验证功能
Feb 08 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
php中关于普通表单多文件上传的处理方法
2011/03/25 PHP
获取PHP警告错误信息的解决方法
2013/06/03 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
2015/07/29 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
没编程基础可以学python吗
2020/06/17 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
Bibloo奥地利:购买女装、男装、童装、鞋和配件
2018/10/18 全球购物
智能电子应届生求职信
2013/11/10 职场文书
酒店前厅员工辞职信
2014/01/08 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技