当前位置:首页 > jquery

jquery 拖动

2026-04-07 23:33:52jquery

jQuery 拖动实现方法

使用 jQuery UI 的 Draggable 组件

jQuery UI 提供了 Draggable 组件,可以轻松实现元素的拖动功能。需要先引入 jQuery 和 jQuery UI 库。

<!-- 引入 jQuery 和 jQuery UI -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<!-- HTML 元素 -->
<div id="draggable">拖动我</div>

<!-- JavaScript 代码 -->
<script>
  $(function() {
    $("#draggable").draggable();
  });
</script>

自定义拖动事件

如果不使用 jQuery UI,可以通过监听鼠标事件实现自定义拖动功能。

<div id="draggable" style="width: 100px; height: 100px; background: #ccc;">拖动我</div>

<script>
  $(function() {
    var isDragging = false;
    var offset = { x: 0, y: 0 };

    $("#draggable").mousedown(function(e) {
      isDragging = true;
      offset.x = e.clientX - $(this).offset().left;
      offset.y = e.clientY - $(this).offset().top;
    });

    $(document).mousemove(function(e) {
      if (!isDragging) return;
      $("#draggable").css({
        left: e.clientX - offset.x,
        top: e.clientY - offset.y,
        position: "absolute"
      });
    });

    $(document).mouseup(function() {
      isDragging = false;
    });
  });
</script>

限制拖动范围

可以通过设置 containment 参数限制拖动范围。

$("#draggable").draggable({
  containment: "parent" // 限制在父元素内拖动
});

拖动回调函数

jQuery UI Draggable 提供了多个事件回调,如 startdragstop

$("#draggable").draggable({
  start: function() {
    console.log("拖动开始");
  },
  drag: function() {
    console.log("拖动中");
  },
  stop: function() {
    console.log("拖动结束");
  }
});

拖动辅助元素

可以通过 helper 选项设置拖动时显示的辅助元素。

jquery 拖动

$("#draggable").draggable({
  helper: "clone" // 拖动时显示克隆元素
});

注意事项

  • 使用 jQuery UI 时需确保正确引入库文件。
  • 自定义拖动时注意性能优化,避免频繁的 DOM 操作。
  • 移动端需要额外处理触摸事件(如 touchstarttouchmove)。

标签: 拖动jquery
分享给朋友:

相关文章

vue实现表格拖动列宽

vue实现表格拖动列宽

实现表格列宽拖动的核心思路 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖动逻辑。在表头列分隔线处添加可拖拽区域,拖动时动态修改列的宽度。 基础HTML结构…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

jquery文档

jquery文档

以下是关于 jQuery 文档的核心内容和资源整理,便于快速查阅和使用: jQuery 官方文档 官网地址:jQuery Official Documentation 内容分类:API 参考:包含所…

jquery 元素

jquery 元素

jQuery 元素选择与操作 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是 jQuery 中常用的元素选择与操作方法…

jquery图片

jquery图片

jQuery 图片操作 jQuery 提供了多种方法来处理图片,包括加载、显示、隐藏、动画效果等。以下是一些常见的 jQuery 图片操作方法: 动态加载图片 使用 jQuery 的 attr()…

jquery页面

jquery页面

jQuery 页面操作指南 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互的操作。以下是 jQuery 在页面中的常见使用方法…