最精简的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 相关文章推荐
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
Mar 15 Javascript
Javascript string 扩展库代码
Apr 09 Javascript
JavaScript 一道字符串分解的题目
Aug 03 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
Jan 27 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
javascript获取dom的下一个节点方法
Sep 05 Javascript
jQuery功能函数详解
Feb 01 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
史上最全JavaScript常用的简写技巧(推荐)
Aug 17 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
Dec 17 Javascript
Vue实现导航栏的显示开关控制
Nov 01 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
php 过滤器实现代码
2010/08/09 PHP
PHP+JS+rsa数据加密传输实现代码
2011/03/23 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
PHP 简易输出CSV表格文件的方法详解
2013/06/20 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
编写兼容IE和FireFox的脚本
2009/05/18 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
Web服务器框架 Tornado简介
2014/07/16 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
Python类中self参数用法详解
2020/02/13 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
英文求职信范文
2014/05/23 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
结婚幸福感言
2015/08/01 职场文书
禁毒主题班会教案
2015/08/14 职场文书