如何实现JavaScript中的图片触摸拖拽

想要在网页上实现图片的触摸拖拽效果吗?那么你可以利用HTML5提供的touch事件,在JavaScript中轻松实现这一功能。通过以下代码,我们将为你展示一个简单的示例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Touch Drag and Drop</title>
  <style>
    #draggable {
      width: 100px;
      height: 100px;
      background-color: lightblue;
      position: absolute;
    }
  </style>
</head>
<body>
  <div id="draggable"></div>

  <script>
    var draggable = document.getElementById('draggable');

    var offsetX, offsetY, isDragging = false;

    draggable.addEventListener('touchstart', function (e) {
      var touch = e.touches[0];
      offsetX = touch.clientX - draggable.getBoundingClientRect().left;
      offsetY = touch.clientY - draggable.getBoundingClientRect().top;
      isDragging = true;
    });

    draggable.addEventListener('touchmove', function (e) {
      if (!isDragging) return;

      e.preventDefault();

      var touch = e.touches[0];
      var x = touch.clientX - offsetX;
      var y = touch.clientY - offsetY;

      // 限制拖拽范围,确保不超出屏幕边界
      x = Math.max(0, Math.min(x, window.innerWidth - draggable.offsetWidth));
      y = Math.max(0, Math.min(y, window.innerHeight - draggable.offsetHeight));

      draggable.style.left = x + 'px';
      draggable.style.top = y + 'px';
    });

    draggable.addEventListener('touchend', function () {
      isDragging = false;
    });
  </script>
</body>
</html>

在这个示例中,我们创建了一个可拖动的元素(div),当用户触摸屏幕时,会触发touchstart事件,并记录当前触摸点与元素左上角的偏移量。接下来,在touchmove事件中,我们根据触摸点的位置更新元素的位置,并通过限制拖拽范围确保不超出屏幕边界。最后,在touchend事件中,我们标记拖拽结束。

通过以上步骤,用户便可以通过触摸屏幕来实现图片的拖拽效果。你也可以根据实际需求对代码进行修改和扩展,以满足你的具体要求。

希望这篇文章对你有所帮助!如果你有任何问题或疑问,欢迎留言讨论。文章来源地址https://www.toymoban.com/diary/js/561.html

到此这篇关于如何实现JavaScript中的图片触摸拖拽的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/js/561.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
上一篇 2023年11月26日 00:25
如何使用JavaScript实现带箭头左右切换效果
下一篇 2023年11月26日 00:42

相关文章

  • 微信小程序中的拖拽和缩放图片功能

    在现代的移动应用开发中,拖拽和缩放功能变得越来越重要。它们不仅使应用程序更具交互性,还为用户提供了更直观、更高效的使用体验。微信小程序作为一个流行的开发平台,也提供了这样的功能。以下是在微信小程序中实现拖拽和缩放图片的步骤和注意事项。 1.设置图

    2024年03月14日
    浏览(49)
  • Qt触摸放大、缩小、拖拽图像

    实现原理:接收widget的事件,paintEvent重绘地图,坐标比例什么的也是根据缩放和偏移量转换计算得出… 简单粗暴,直接上代码吧!

    2024年02月13日
    浏览(78)
  • 微信小程序 — 图片实现缩放,拖拽功能

    movable-view 可移动的视图容器,在页面中可以拖拽滑动。 movable-view必须在 movable-area 组件中,并且必须是直接子节点,否则不能移动。 如果想让图片实现缩放,拖拽效果。则可以把图片放到movable-view容器里面 。 movable-view 可移动的视图容器,在页面中可以拖拽滑动。 效果如下

    2024年02月13日
    浏览(92)
  • vue+element ui实现图片上传并拖拽进行图片排序

    用到的技术栈: vue2 element Ui vue-dragging 第一步: 安装 第二步: 引入 Video_23-11-13_10-17-30 end~~~ 如有错误或观点不一致的请评论留言共同讨论,本人前端小白一枚,根据自己实际项目遇到的问题进行总结分享,谢谢大家的阅读!

    2024年01月24日
    浏览(51)
  • vue项目实现图片缩放与拖拽功能

    在项目开发中遇到一个需求: 1:用鼠标滚轮可对图片进行缩放处理 2:点击按钮可对图片进行缩放处理 3:可对图片进行拖拽处理 我在开发中通过自己实现与百度查看优秀的铁子进行了两种类型的使用 源码: 效果: 源码: 效果:@韩桑

    2024年02月12日
    浏览(47)
  • 微信小程序实现图片拖拽切换位置

    所用到组件 movable-area movable-view HTML JS CSS 图片到达可交换位置的容错值及图片一行的数量可以因需求而异。 如果有逻辑错误或冗余代码敬请指正。

    2024年02月12日
    浏览(71)
  • fabric.js 实现元素拖拽、引入图片、标注交互

    by:垃圾程序员 特别鸣谢:拿只键盘出来绣花的德育处主任,他的系列文章给了我很大的帮助。该说不说,站在前人的肩膀上就是得劲。 德育处主任 - 知乎 拿只键盘出来绣花 回答数 7,获得 143 次赞同 https://www.zhihu.com/people/rabbit-svip fabric.js 是一个用于创建可交互式的 HTML5

    2024年04月12日
    浏览(43)
  • vue实现 图片拖拽及鼠标滚轮放大缩小

    效果: 代码实现

    2024年02月14日
    浏览(82)
  • macbook触摸板拖拽不好用?复制选中难?教你两个设置,从此告别鼠标

    点击设置–触控板–更多手势,像下面这样设置 点击设置–辅助功能–左边下拉找到指针控制–触控板选项 启用三指拖拽 以后选中与拖拽只需要三指操作,再也不需要点按了,从此告别鼠标,你值得拥有。 注意:修改后的全屏幕APP切换变为4指,切记

    2024年02月16日
    浏览(131)
  • js实现图片的放大缩小(鼠标长按拖拽、鼠标滚轮控制放大缩小)

    该功能的需求点事2个月前的一个需求,当时采用的是Element-UI中的image图片做的一个功能,但是不能满足产品真实的需求,只能定制化自己封装。 该功能在Vue2 的element-UI中还是比较鸡肋的 ⬇️ ⬇️ Element-UI 该功能在Emenent-UI-plus(vue3)版本已经很好的支持了。 完整功能如下

    2024年02月03日
    浏览(85)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包