国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery拖動div、移動div、彈出層實現原理及示例

2024-05-06 16:03:50
字體:
來源:轉載
供稿:網友
正如標題所言的實現原理是使div的position為絕對定位absolute,然后控制其top與left值,需要的朋友可以參考下

代碼演示:



大概原理:

使div的position為絕對定位absolute,然后控制其top與left值,需要監聽鼠標事件,主要用到mousedown, mousemove, mouseup。

在mousedown后,記錄mousedown時鼠標與需要移動的div的位置,然后取得兩者之差,得到在鼠標移動后,div的位置。即:

left = 當前鼠標位置.x - (鼠標點擊時的.x值 - div的初始位置x值)
top = 當前鼠標位置.y - (鼠標點擊時的.y值 - div的初始位置y值)

代碼:

復制代碼 代碼如下:


<!DOCTYPE html>
<html lang="zh">
<head>
<meta http-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>

<div>
<div>按住此處移動當前div</div>
<div>這里是其它內容</div>
</div>
<div>
<p>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是絕對定位,然后檢測鼠標事件就行了。嘿嘿。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 静宁县| 宜城市| 洪泽县| 六安市| 襄垣县| 古蔺县| 喀喇沁旗| 萝北县| 兴海县| 余干县| 页游| 伊春市| 门源| 成武县| 宁河县| 南昌县| 嘉黎县| 调兵山市| 阿坝县| 洛阳市| 鄄城县| 吐鲁番市| 清水县| 霞浦县| 和平区| 同德县| 南漳县| 广宗县| 宜宾市| 延川县| 蓬溪县| 敦煌市| 科技| 河源市| 庐江县| 铜山县| 上高县| 平定县| 汽车| 黄陵县| 吉木萨尔县|