当前位置:首页 > 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,可以通过监听鼠标事件实现自定义拖动功能。

jquery 拖动

<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 参数限制拖动范围。

jquery 拖动

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

拖动回调函数

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

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

拖动辅助元素

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

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

注意事项

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

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

相关文章

jquery和vue的区别

jquery和vue的区别

核心设计理念 jQuery是一个基于DOM操作的轻量级JavaScript库,主要用于简化HTML文档遍历、事件处理、动画设计等任务。它采用命令式编程风格,需要手动操作DOM元素。 Vue是一个渐进…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

jquery下拉

jquery下拉

jQuery 实现下拉效果的方法 使用 slideDown() 和 slideUp() 方法 通过 slideDown() 展开元素,slideUp() 收起元素,实现平滑的下拉动画效果。 $(…

jquery遍历

jquery遍历

jQuery遍历方法 jQuery提供了多种遍历DOM元素的方法,可以根据需求选择合适的方式操作元素集合。 each()方法 each()方法用于遍历jQuery对象中的每个元素,并对每个元素执行回…

jquery滚动条

jquery滚动条

jQuery 滚动条操作 获取滚动条位置 使用scrollTop()方法获取垂直滚动条的位置,scrollLeft()获取水平滚动条位置: $(window).scrollTop(); // 垂直…

jquery dom

jquery dom

jQuery DOM 操作指南 jQuery 提供了丰富的 DOM 操作方法,可以简化原生 JavaScript 的 DOM 操作。以下是常用的 jQuery DOM 操作方法: 选择元素 使用 j…