最精简的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 相关文章推荐
用js实现的检测浏览器和系统的函数
Apr 09 Javascript
利用cookie记住背景颜色示例代码
Nov 04 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
Mar 25 Javascript
jQuery中removeClass()方法用法实例
Jan 05 Javascript
谈谈impress.js初步理解
Sep 09 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
localStorage的黑科技-js和css缓存机制
Feb 06 Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
Oct 25 Javascript
记React connect的几种写法(小结)
Sep 18 Javascript
详解mpvue开发微信小程序基础知识
Sep 23 Javascript
详解Vue的列表渲染
Nov 20 Vue.js
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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
解决laravel session失效的问题
2019/10/14 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
2016/05/09 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
python简单实现基数排序算法
2015/05/16 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
美国温暖商店:The Warming Store
2018/12/15 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
教师学习培训邀请函
2014/02/04 职场文书
大班上学期个人总结
2015/02/13 职场文书