jQuery拖拽原理实例
HTML源代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>拖拽实例</title>
<link rel="stylesheet" href="drag.css">
<script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
<script src="drag.js"></script>
</head>
<body>
<div></div>
</body>
</html>
CSS源代码
*{
margin: 0;
padding:0;
}
div{
width: 100px;
height: 100px;
background: #f00;
cursor: pointer;
position: absolute;
left: 0;
top: 0;
}
JS源代码
$(function(){
$('div').mousedown(function(e){
//offset()在匹配的元素集合中,获取的第一个元素的当前坐标,坐标相对于文档
var positionDiv = $(this).offset();
var distenceX = e.pageX - positionDiv.left;
var distenceY = e.pageY - positionDiv.top;
// alert(positionDiv.left);
$(document).mousemove(function(e) {
var x = e.pageX - distenceX;
var y = e.pageY - distenceY;
//防止将元素拖拽出浏览器窗口
if(x<0){
x=0;
}else if(x>$(document).width()-$('div').outerWidth(true)){
x=$(document).width()-$('div').outerWidth(true);
}
if(y<0){
y=0
}else if(y>$(document).height()-$('div').outerHeight(true)){
y=$(document).height()-$('div').outerHeight(true);
}
$('div').css({
'left':x+'px',
'top':y+'px'
});
});
$(document).mouseup(function() {
//unbind和off都可以解除绑定时间
$(document).unbind('mousemove');
});
});
});
转载于//www.cnblogs.com/littlefly/p/3677509.html
还没有评论,来说两句吧...