jQuery 实现 div 拖动效果涉及一些基础概念,主要包括事件绑定、坐标计算和元素样式修改。以下是详细解答:
left
和 top
样式属性来实现拖动效果。以下是一个基本的 jQuery div 拖动效果的实现:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Drag and Drop</title>
<style>
#draggable {
width: 100px;
height: 100px;
background-color: #f00;
position: absolute;
cursor: pointer;
}
</style>
</head>
<body>
<div id="draggable"></div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
var dragging = false;
var offsetX, offsetY;
$('#draggable').on('mousedown', function(e) {
dragging = true;
offsetX = e.pageX - $(this).offset().left;
offsetY = e.pageY - $(this).offset().top;
});
$(document).on('mousemove', function(e) {
if (dragging) {
$('#draggable').css({
left: e.pageX - offsetX,
top: e.pageY - offsetY
});
}
});
$(document).on('mouseup', function() {
dragging = false;
});
});
</script>
</body>
</html>
offsetX
和 offsetY
正确计算。mousemove
事件中添加边界检查逻辑。mousemove
事件中添加边界检查逻辑。通过以上方法,可以有效实现并优化 jQuery 的 div 拖动效果。
没有搜到相关的文章