最精简的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 八进制转义字符(8进制)
Apr 08 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
Aug 25 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
Dec 11 Javascript
JS中三目运算符和if else的区别分析与示例
Nov 21 Javascript
javascript模拟php函数in_array
Apr 27 Javascript
使用Angular缓存父页面数据的方法
Jan 03 Javascript
深入理解vue中slot与slot-scope的具体使用
Jan 26 Javascript
angular ng-model 无法获取值的处理方法
Oct 02 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
Jul 04 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
从0搭建vue-cli4脚手架
Jun 17 Javascript
Vue中避免滥用this去读取data中数据
Mar 02 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
对盗链说再见...
2006/10/09 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
关于jQuery新的事件绑定机制on()的使用技巧
2013/04/26 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
Python实现在线音乐播放器
2017/03/03 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
python从Oracle读取数据生成图表
2020/10/14 Python
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
2013年学期结束动员演讲稿
2014/01/07 职场文书
电信营业员自我评价分享
2014/01/17 职场文书
总经理助理职责
2014/02/04 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
2014年服务员工作总结
2014/11/18 职场文书
2014年统战工作总结
2014/12/09 职场文书
2015年调度员工作总结
2015/04/30 职场文书
离职证明格式样本
2015/06/12 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书
PyTorch中的torch.cat简单介绍
2022/03/17 Python