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 相关文章推荐
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
May 21 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
Aug 10 Javascript
Jquery组件easyUi实现选项卡切换示例
Aug 23 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
Jan 09 Javascript
关于预加载InstantClick的问题解决方法
Sep 12 Javascript
JavaScript框架Angular和React深度对比
Nov 20 Javascript
Vue响应式原理深入解析及注意事项
Dec 11 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
Mar 06 Javascript
微信小程序实现的一键复制功能示例
Apr 24 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 Javascript
jQuery实现鼠标滑动切换图片
May 27 jQuery
利用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 Rename 更改文件、文件夹名称
2011/05/24 PHP
php把session写入数据库示例
2014/02/26 PHP
php实现上传图片文件代码
2015/07/19 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
jQuery布局组件EasyUI Layout使用方法详解
2017/02/28 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
vue中使用protobuf的过程记录
2018/10/26 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
python 快速排序代码
2009/11/23 Python
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
Python如何给你的程序做性能测试
2020/07/29 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
应用化学专业职业生涯规划书
2014/01/22 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
小溪流的歌教学反思
2014/02/13 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
拔河比赛口号
2014/06/10 职场文书
2015年学雷锋活动总结
2015/02/06 职场文书
北京英文导游词
2015/02/12 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
2016年感恩节寄语
2015/12/07 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
Go语言并发编程 sync.Once
2021/10/16 Golang