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 相关文章推荐
List Information About the Binary Files Used by an Application
Jun 11 Javascript
让任务管理器中的CPU跳舞的js代码
Nov 01 Javascript
js实现addClass,removeClass,hasClass的函数代码
Jul 13 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
第九章之路径分页标签与徽章组件
Apr 25 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
jquery在启动页面时,自动加载数据的实例
Jan 22 jQuery
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
Mar 21 Javascript
JavaScript判断浏览器运行环境的详细方法
Jun 30 Javascript
Antd表格滚动 宽度自适应 不换行的实例
Oct 27 Javascript
Javascript的promise,async和await的区别详解
Mar 24 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+MYSQL会员系统的开发实例教程
2014/08/23 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
vue中的provide/inject的学习使用
2018/05/09 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
vue实现弹幕功能
2019/10/25 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
毕业生精彩的自我评价分享
2013/10/06 职场文书
质量整改报告范文
2014/11/08 职场文书
护士先进个人总结
2015/02/13 职场文书
病危通知书样本
2015/04/17 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
Python简易开发之制作计算器
2022/04/28 Python