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入门教程(2) JS基础知识
Jan 31 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
May 08 Javascript
js中confirm实现执行操作前弹出确认框的方法
Nov 01 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
Sep 16 Javascript
一分钟理解js闭包
May 04 Javascript
jQuery图片轮播插件——前端开发必看
May 31 Javascript
angularJs关于指令的一些冷门属性详解
Oct 24 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
p5.js入门教程和基本形状绘制
Mar 15 Javascript
JS引用传递与值传递的区别与用法分析
Jun 01 Javascript
JS实现的RC4加密算法示例
Aug 16 Javascript
vue element-ui实现动态面包屑导航
Dec 23 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 GD库生成图像的几个函数总结
2014/11/19 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
告诉大家什么是JSON
2008/06/10 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
js面向对象编程总结
2017/02/16 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
python和c语言哪个更适合初学者
2020/06/22 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
超市采购员岗位职责
2014/02/01 职场文书
国庆节文艺活动方案
2014/02/03 职场文书
建议书怎么写
2014/03/12 职场文书
村委会换届选举方案
2014/05/03 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
地方课程教学计划
2015/01/19 职场文书
如何写辞职书
2015/02/26 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
欠条范文
2015/07/03 职场文书
2015暑假假期总结
2015/07/13 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server