最精简的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 相关文章推荐
网页常用特效代码整理
Jun 23 Javascript
基于逻辑运算的简单权限系统(实现) JS 版
Mar 24 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
Apr 26 Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 Javascript
jQuery 处理页面的事件详解
Jan 20 Javascript
JS实现往下不断流动网页背景的方法
Feb 27 Javascript
jQuery使用fadein方法实现渐出效果实例
Mar 27 Javascript
JavaScript数据类型判定的总结笔记
Jul 31 Javascript
Javascript实现时间倒计时效果
Jul 15 Javascript
js动态引入的四种方法
May 05 Javascript
vue绑定class的三种方法
Dec 24 Vue.js
html中两种获取标签内的值的方法
Jun 16 jQuery
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
PHP insert语法详解
2008/06/07 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
Django工程的分层结构详解
2019/07/18 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
追悼会主持词
2014/03/20 职场文书
大学开学计划书
2014/04/30 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android