基于jquery的用鼠标画出可移动的div


下面是一个使用jQuery实现鼠标拖动div的示例代码。这段代码将展示如何创建一个可拖动的div元素。

首先,确保你的HTML文件中已经引入了jQuery库。如果未引入,你可以通过以下方式添加(请确保从可信源获取最新版本):


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

接下来是HTML部分,定义一个可拖动的div:


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Draggable Div</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<style>
  #draggable {
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
    cursor: pointer;
  }
</style>
</head>
<body>

<div id="draggable"></div>

<script>
// jQuery代码将放在这里
$(document).ready(function() {
  var $dragElement = $("#draggable");
  var offsetX, offsetY;

  $dragElement.mousedown(function(e) {
    offsetX = e.pageX - $(this).offset().left;
    offsetY = e.pageY - $(this).offset().top;
    $(document).mousemove(function(e) {
      $dragElement.css({
        left: e.pageX - offsetX,
        top: e.pageY - offsetY
      });
    });
    
    $(document).mouseup(function() {
      $(document).off("mousemove");
      $(document).off("mouseup");
    });
  });
});
</script>

</body>
</html>

在上述代码中,我们首先定义了一个名为`#draggable`的div,并为其设置了样式。在jQuery部分,我们首先获取了这个div的jQuery对象,并初始化了两个变量`offsetX`和`offsetY`来存储鼠标相对于div左上角的偏移量。

当用户按下鼠标按钮时(`mousedown`事件),我们计算这个偏移量,并绑定`mousemove`事件来更新div的位置。当鼠标移动时,我们通过更新div的`left`和`top`样式属性来移动它。当鼠标按钮被释放时(`mouseup`事件),我们解除绑定`mousemove`和`mouseup`事件,以避免不必要的性能消耗。

这样,你就创建了一个可拖动的div元素。