基于jquery完美拖拽,可返回拖动轨迹 - Web前端
作者:98wpeu发布时间:2026-06-01分类:网页前端技术浏览:2
导读:复制代码代码如下:<!DOCtypehtmlPUBLIC"-//W3C//DTDxhtml1.0Transitional//EN""http://www.w3....
复制代码 代码如下:
<!DOCtypehtml 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>
<meta http-eqUIv="Content-Type" content="text/html; charset=utf-8" />
<title>完美拖拽</title>
<style type="text/CSS">
html, body {
overflow:hidden;
}
body, div, h2, p {
margin:0;
padding:0;
}
body {
color:#fff;
background:#000;
font:12px/2 Arial;
}
p {
padding:0 10px;
margin-top:10px;
}
span {
color:#ff0;
padding-left:5px;
}
#box {
position:absolute;
width:300px;
height:150px;
background:#333;
border:2px solid #ccc;
top:150px;
left:400px;
margin:0;
}
#box h2 {
height:25px;
cursor:move;
background:#222;
border-bottom:2px solid #ccc;
text-align:right;
padding:0 10px;
}
#box h2 a {
color:#fff;
font:12px/25px Arial;
text-decoration:none;
outline:none;
}
</style>
<script src="http://Ajax.googleAPIs.com/ajax/libs/JQuery/1.7.1/jQuery.min.JS" type="text/javascript"></script>
<script type="text/JavaScript">
$(function(){
var bDrag = false;
var _x,_y;
var $box=$("#box")
var aPos = [{
x: $("#box").offset().left,
y: $("#box").offset().top
}];
$("span:eq(1)").text(aPos[0].y);
$("span:eq(2)").text(aPos[0].x);
$("#box h2:first").mousedown(function(event){
var e=event || window.event;
bDrag = true;
_x=e.pageX-$box.position().left;
_y=e.pageY-$box.position().top;
return false
})
$(document).mouSEMove(function(event){
if(!bDrag) return false;
var e=event || window.event;
var x=e.pageX-_x;
var y=e.pageY-_y;
var maxL = $(document).width() - $box.outerWidth();
var maxT = $(document).height() - $box.outerHeight();
x = x < 0 ? 0: x;
x = x > maxL ? maxL: x;
y = y < 0 ? 0: y;
y = y > maxT ? maxT: y;
$box.css({left:x,top:y});
aPos.push({
x: x,
y: y
});
status()
return false
}).mouseup(function(){
bDrag = false;
status()
return false
})
$("#box h2:first a").click(function(){
if (aPos.length == 1) return;
var timer = SetInterval(function() {
var oPos = aPos.pop();
oPos ? ($box.css({left : oPos.x + "px", top : oPos.y + "px"})) : clearinterval(timer)
status();
},30);
}).mousedown(function(){return false})
function status() {
$("#box span:eq(0)").text(bDrag);
$("#box span:eq(1)").text($box.position().top);
$("#box span:eq(2)").text($box.position().left);
}
status()
})
</script>
</head>
<body>
<div id="box">
<h2><a href="Javascript:;">点击回放拖动轨迹</a></h2>
<p><strong>Drag:</strong><span></span></p>
<p><strong>top:</strong><span></span></p>
<p><strong>left:</strong><span></span></p>
</div>
</body>
</html>
<!DOCtypehtml 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>
<meta http-eqUIv="Content-Type" content="text/html; charset=utf-8" />
<title>完美拖拽</title>
<style type="text/CSS">
html, body {
overflow:hidden;
}
body, div, h2, p {
margin:0;
padding:0;
}
body {
color:#fff;
background:#000;
font:12px/2 Arial;
}
p {
padding:0 10px;
margin-top:10px;
}
span {
color:#ff0;
padding-left:5px;
}
#box {
position:absolute;
width:300px;
height:150px;
background:#333;
border:2px solid #ccc;
top:150px;
left:400px;
margin:0;
}
#box h2 {
height:25px;
cursor:move;
background:#222;
border-bottom:2px solid #ccc;
text-align:right;
padding:0 10px;
}
#box h2 a {
color:#fff;
font:12px/25px Arial;
text-decoration:none;
outline:none;
}
</style>
<script src="http://Ajax.googleAPIs.com/ajax/libs/JQuery/1.7.1/jQuery.min.JS" type="text/javascript"></script>
<script type="text/JavaScript">
$(function(){
var bDrag = false;
var _x,_y;
var $box=$("#box")
var aPos = [{
x: $("#box").offset().left,
y: $("#box").offset().top
}];
$("span:eq(1)").text(aPos[0].y);
$("span:eq(2)").text(aPos[0].x);
$("#box h2:first").mousedown(function(event){
var e=event || window.event;
bDrag = true;
_x=e.pageX-$box.position().left;
_y=e.pageY-$box.position().top;
return false
})
$(document).mouSEMove(function(event){
if(!bDrag) return false;
var e=event || window.event;
var x=e.pageX-_x;
var y=e.pageY-_y;
var maxL = $(document).width() - $box.outerWidth();
var maxT = $(document).height() - $box.outerHeight();
x = x < 0 ? 0: x;
x = x > maxL ? maxL: x;
y = y < 0 ? 0: y;
y = y > maxT ? maxT: y;
$box.css({left:x,top:y});
aPos.push({
x: x,
y: y
});
status()
return false
}).mouseup(function(){
bDrag = false;
status()
return false
})
$("#box h2:first a").click(function(){
if (aPos.length == 1) return;
var timer = SetInterval(function() {
var oPos = aPos.pop();
oPos ? ($box.css({left : oPos.x + "px", top : oPos.y + "px"})) : clearinterval(timer)
status();
},30);
}).mousedown(function(){return false})
function status() {
$("#box span:eq(0)").text(bDrag);
$("#box span:eq(1)").text($box.position().top);
$("#box span:eq(2)").text($box.position().left);
}
status()
})
</script>
</head>
<body>
<div id="box">
<h2><a href="Javascript:;">点击回放拖动轨迹</a></h2>
<p><strong>Drag:</strong><span></span></p>
<p><strong>top:</strong><span></span></p>
<p><strong>left:</strong><span></span></p>
</div>
</body>
</html>
相关推荐
- 超级有用的13个基于jQuery的内容滚动插件和教程 - Web前端
- jquery(javascript)自动序列编号和属性编号实现代码 - Web前端
- 基于jquery的不规则矩形的排列实现代码 - Web前端
- 仿百度的关键词匹配搜索示例 - Web前端
- 超级有用的13个基于jQuery的内容滚动插件和教程 - Web前端
- 基于JQuery实现的类似购物商城的购物车 - Web前端
- 腾讯UED 漂亮的提示信息效果代码 - Web前端
- jQuery EasyUI API 中文文档 - Pagination分页 - Web前端
- zShowBox 图片放大展示jquery版 兼容性 - Web前端
- jquery 操作表格实现代码(多种操作打包) - Web前端
- 网页前端技术排行
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


