最精简的JavaScript实现鼠标拖动效果的方法


Posted in Javascript onMay 11, 2015

相对于其它的鼠标拖动效果,这款拖动特效还是比较精简的,而且它还支持鼠标吸附,不按鼠标左键它也可以会跟随鼠标移动;定义时候也相对方便,只用指定被拖动的DIV ID就可以了,扩展性很好。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>鼠标拖动</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="JavaScript" type="text/javascript">
var drag_=false
var D=new Function('obj','return document.getElementById(obj);')
var oevent=new Function('e','if (!e) e = window.event;return e')
function Move_obj(obj){
 var x,y;
 D(obj).onmousedown=function(e){
 drag_=true;
 with(this){
  style.position="absolute";
  var temp1=offsetLeft;
  var temp2=offsetTop;
  x=oevent(e).clientX;y=oevent(e).clientY;
  document.onmousemove=function(e){
  if(!drag_)return false;
  with(this){
   style.left=temp1+oevent(e).clientX-x+"px";
   style.top=temp2+oevent(e).clientY-y+"px";
  }
  }
 }
 document.onmouseup=new Function("drag_=false");
 }
}
</script>
<body>
<div id="drag" style="background-color:#0066CC;width:280px;
height:160px;padding:20px;border:1px #003399 solid;
font-size:10.5pt;color:white" onmouseover='Move_obj("drag")'>
<p>这个层是可以拖动的,而且还可以吸附鼠标,试试看!</p>
<p>/</p>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript 星级评分效果(手写)
Dec 24 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
Dec 08 Javascript
js验证真实姓名与身份证号是否匹配
Oct 13 Javascript
jQuery+Ajax实现无刷新操作
Jan 04 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
Jan 20 Javascript
JS仿JQuery选择器功能
Mar 08 Javascript
vue-cli+webpack记事本项目创建
Apr 01 Javascript
jquery操作ul的一些操作笔记整理(干货)
Aug 31 jQuery
JS实现简单省市二级联动
Nov 27 Javascript
JS正则表达式验证端口范围(0-65535)
Jan 06 Javascript
JavaScript实现表格点击排序的方法
May 11 #Javascript
JavaScript点击按钮后弹出透明浮动层的方法
May 11 #Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 #Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 #Javascript
jQuery子窗体取得父窗体元素的方法
May 11 #Javascript
js控制div弹出层实现方法
May 11 #Javascript
JavaScript实现点击文字切换登录窗口的方法
May 11 #Javascript
You might like
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
php实现的CSS更新类实例
2014/09/22 PHP
php输出xml属性的方法
2015/03/19 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
Document 对象的常用方法
2009/07/31 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
JS返回顶部实例代码
2020/08/09 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
详解python tkinter 图片插入问题
2020/09/03 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
个人廉政承诺书
2015/04/28 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书
Python使用Kubernetes API访问集群
2021/05/30 Python
Python中request的基本使用解决乱码问题
2022/04/12 Python