jquery实现简单的拖拽效果实例兼容所有主流浏览器
发布时间:2014-01-26 编辑:jiaochengji.com
拖拽效果个人觉得是一种不错的用户体验,抽空研究了一下,原理还蛮简单的,具体实现如下,感兴趣的朋友可以参考下哈
最近发现web网页的拖拽效果,个人觉得是一种不错的用户体验,抽空研究了一下,原理还蛮简单的,下面贴一下我写的一个简单拖拽jquery自定义函数。
jquery代码:fun.js
jQuery.fn.myDrag=function(){
_IsMove = 0;
_MouseLeft = 0;
_MouseTop = 0;
return $(this).bind("mousemove",function(e){
if(_IsMove==1){
$(this).offset({top:e.pageY-_MouseLeft,left:e.pageX-_MouseTop});
}
}).bind("mousedown",function(e){
_IsMove=1;
var offset =$(this).offset();
_MouseLeft = e.pageX - offset.left;
_MouseTop = e.pageY - offset.top;
}).bind("mouseup",function(){
_IsMove=0;
}).bind("mouseout",function(){
_IsMove=0;
});
}
html代码:
<html>
<head>
<title>demo.htm</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="myFun.js" type="text/javascript"></script>
<style type="text/css">
.myDiv{
background:#EAEAEA;
width: 100px;
height: 100px;
border: 1px solid;
cursor: pointer;
text-align: center;
line-height: 100px;
}
</style>
<script type="text/javascript">
$(function(){
$("#myDiv").myDrag();
$("#myDiv2").myDrag();
})
</script>
</head>
<body>
<div id="myDiv" class="myDiv">拖拽1</div>
<div id="myDiv2" class="myDiv">拖拽2</div>
</body>
</html>
效果图1:
效果图2:
jquery代码:fun.js
复制代码 代码如下:
jQuery.fn.myDrag=function(){
_IsMove = 0;
_MouseLeft = 0;
_MouseTop = 0;
return $(this).bind("mousemove",function(e){
if(_IsMove==1){
$(this).offset({top:e.pageY-_MouseLeft,left:e.pageX-_MouseTop});
}
}).bind("mousedown",function(e){
_IsMove=1;
var offset =$(this).offset();
_MouseLeft = e.pageX - offset.left;
_MouseTop = e.pageY - offset.top;
}).bind("mouseup",function(){
_IsMove=0;
}).bind("mouseout",function(){
_IsMove=0;
});
}
html代码:
复制代码 代码如下:
<html>
<head>
<title>demo.htm</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="myFun.js" type="text/javascript"></script>
<style type="text/css">
.myDiv{
background:#EAEAEA;
width: 100px;
height: 100px;
border: 1px solid;
cursor: pointer;
text-align: center;
line-height: 100px;
}
</style>
<script type="text/javascript">
$(function(){
$("#myDiv").myDrag();
$("#myDiv2").myDrag();
})
</script>
</head>
<body>
<div id="myDiv" class="myDiv">拖拽1</div>
<div id="myDiv2" class="myDiv">拖拽2</div>
</body>
</html>
效果图1:
![](http://p.jiaochengji.com/jb/f/1/1442941175_623.gif)
效果图2:
![](http://p.jiaochengji.com/jb/a/c/1442941176_612.gif)
您可能感兴趣的文章:
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
jquery实现简单的拖拽效果实例兼容所有主流浏览器
jquery div拖拽效果(兼容浏览器)
使用h5实现react拖拽排序组件的方法(附代码)
HTML5 DragEvent接口的实例讲解
详解HTML5拖放功能实例
jQuery UI 教程之一 ——入门
JQuery之拖拽插件实现代码
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
[关闭]