jQuery拖动div、移动div、弹出层实现原理及示例 - Web前端
作者:98wpeu发布时间:2026-10-08分类:网页前端技术浏览:6
导读:代码演示:http://www.imqing.com/demo/movediv.html大概原理:使div的position为绝对定位absolute,然后控制其top与lef...
代码演示:
http://www.imqing.com/demo/movediv.html
大概原理:
使div的position为绝对定位absolute,然后控制其top与left值,需要监听鼠标事件,主要用到mousedown, mouSEMove, mouseup。
在mousedown后,记录mousedown时鼠标与需要移动的div的位置,然后取得两者之差,得到在鼠标移动后,div的位置。即:
left = 当前鼠标位置.x - (鼠标点击时的.x值 - div的初始位置x值)
top = 当前鼠标位置.y - (鼠标点击时的.y值 - div的初始位置y值)
代码:
复制代码 代码如下:
<!DOCtypeHTML>
<html lang="zh">
<head>
<metaHTTP-eqUIv="Content-Type" content="text/html;charset=UTF-8">
<title>Qing's WEB</title>
<script src="./JQuery-1.7.2.min.JS" type="text/javascript"></script>
<style type="text/CSS">
.footer {
position: fixed;
bottom: 0;
width: 100%;
}
.moveBar {
position: absolute;
width: 250px;
height: 300px;
background: #666;
border: solid 1px #000;
}
#banner {
background: #52CCCC;
cursor: move;
}
</style>
</head>
<body style="padding-top: 50px;">
<div class="moveBar">
<div id="banner">按住此处移动当前div</div>
<div class="content">这里是其它内容</div>
</div>
<div class="footer">
<p align="center" class="label">ALL Rights Reserved Qing 版权所有</p>
</div>
<script>
jQuery(document).ready(
function () {
$('#banner').mousedown(
function (event) {
var isMove = true;
var abs_x = event.pageX - $('div.moveBar').offset().left;
var abs_y = event.pageY - $('div.moveBar').offset().top;
$(document).mousemove(function (event) {
if (isMove) {
var obj = $('div.moveBar');
obj.css({'left':event.pageX - abs_x, 'top':event.pageY - abs_y});
}
}
).mouseup(
function () {
isMove = false;
}
);
}
);
}
);
</script>
</body>
</html>
其实代码量也不多的,嘿嘿。要点就是需要移动的div的position是绝对定位,然后检测鼠标事件就行了。嘿嘿。
http://www.imqing.com/demo/movediv.html
大概原理:
使div的position为绝对定位absolute,然后控制其top与left值,需要监听鼠标事件,主要用到mousedown, mouSEMove, mouseup。
在mousedown后,记录mousedown时鼠标与需要移动的div的位置,然后取得两者之差,得到在鼠标移动后,div的位置。即:
left = 当前鼠标位置.x - (鼠标点击时的.x值 - div的初始位置x值)
top = 当前鼠标位置.y - (鼠标点击时的.y值 - div的初始位置y值)
代码:
复制代码 代码如下:
<!DOCtypeHTML>
<html lang="zh">
<head>
<metaHTTP-eqUIv="Content-Type" content="text/html;charset=UTF-8">
<title>Qing's WEB</title>
<script src="./JQuery-1.7.2.min.JS" type="text/javascript"></script>
<style type="text/CSS">
.footer {
position: fixed;
bottom: 0;
width: 100%;
}
.moveBar {
position: absolute;
width: 250px;
height: 300px;
background: #666;
border: solid 1px #000;
}
#banner {
background: #52CCCC;
cursor: move;
}
</style>
</head>
<body style="padding-top: 50px;">
<div class="moveBar">
<div id="banner">按住此处移动当前div</div>
<div class="content">这里是其它内容</div>
</div>
<div class="footer">
<p align="center" class="label">ALL Rights Reserved Qing 版权所有</p>
</div>
<script>
jQuery(document).ready(
function () {
$('#banner').mousedown(
function (event) {
var isMove = true;
var abs_x = event.pageX - $('div.moveBar').offset().left;
var abs_y = event.pageY - $('div.moveBar').offset().top;
$(document).mousemove(function (event) {
if (isMove) {
var obj = $('div.moveBar');
obj.css({'left':event.pageX - abs_x, 'top':event.pageY - abs_y});
}
}
).mouseup(
function () {
isMove = false;
}
);
}
);
}
);
</script>
</body>
</html>
其实代码量也不多的,嘿嘿。要点就是需要移动的div的position是绝对定位,然后检测鼠标事件就行了。嘿嘿。
相关推荐
- 自己动手实现jQuery Callbacks完整功能代码详解 - Web前端
- showModelDialog弹出文件下载窗口的使用示例 - Web前端
- jQuery中获取checkbox选中项等操作及注意事项 - Web前端
- jquery简单实现滚动条下拉DIV固定在头部不动 - Web前端
- jquery ajax 调用失败的原因示例介绍 - Web前端
- jQuery中filter()和find()的区别深入了解 - Web前端
- jQuery表格插件datatables用法总结 - Web前端
- JQuery对class属性的操作实现按钮开关效果 - Web前端
- 使用jQuery解决IE与FireFox下createElement方法的差异 - Web前端
- 如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例) - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 8分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 9jQuery实现鼠标移到元素上动态提示消息框效果 - 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属性


