当前位置: 首页 > wzjs >正文

淮南网站建设 飞沐做公司官网步骤

淮南网站建设 飞沐,做公司官网步骤,html5商城网站模板,生鲜农产品网站建设概述 本文主要介绍前端中拖拽相关的知识以及如何在 vue3 工程里实现拖拽指令。 前端中的拖拽 前端中的拖拽功能是一种交互设计,允许用户通过鼠标或触摸操作移动页面上的元素到不同的位置。这一功能的实现涉及 HTML、CSS 和 JavaScript 的综合运用。 HTML元素拖拽…

概述

本文主要介绍前端中拖拽相关的知识以及如何在 vue3 工程里实现拖拽指令。

前端中的拖拽

前端中的拖拽功能是一种交互设计,允许用户通过鼠标或触摸操作移动页面上的元素到不同的位置。这一功能的实现涉及 HTMLCSSJavaScript 的综合运用。

HTML元素拖拽
  • 拖拽元素

HTML 元素有一个draggable属性,接受一个布尔值,默认值为false(不可拖拽)。

<div draggable="true">我是可拖动的</div>
  • 事件处理

拖拽功能的实现依赖于几个关键的拖放事件:

  • dragstart: 当用户开始拖动元素时触发,可以在这里设置数据传输(如拖动的数据类型和值)。

  • drag: 元素正在被拖动时连续触发。

  • dragend: 用户释放鼠标,结束拖动时触发。

  • dragenterdragover: 当拖动的元素进入或停留在目标区域时触发。通常需要阻止这两个事件的默认行为,以允许元素被放置。

  • drop: 在拖动元素被释放到有效目标时触发,是接收拖动数据并执行相应操作的地方。

示例效果

效果如下:
在这里插入图片描述

核心代码

代码如下:

dragClass.addEventListener("dragstart", (e) => {const node = e.target.cloneNode(true);e.dataTransfer.setData("cloneNode", node.outerHTML);
});dragClass.addEventListener("dragend", (e) => {e.dataTransfer.clearData();
});dropDom.addEventListener("dragover", (e) => {if (e.target.className == "draggable") {e.preventDefault();}
});dropDom.addEventListener("drop", (e) => {e.preventDefault();const node = e.dataTransfer.getData("cloneNode");e.target.innerHTML = node;const originCellNode = e.dataTransfer.getData("text/html");if (originCellNode) {originCellNode.removeChild(originCellNode);}e.dataTransfer.clearData("cloneNode");
});dragTableCell.addEventListener("dragstart", (e) => {const node = e.target.cloneNode(true);e.dataTransfer.setData("cloneNode", node.outerHTML);e.dataTransfer.setData("text/html", e.target.parentNode.outerHTML);
});
参考地址

参考地址:https://github.com/Jinuss/blog/blob/main/docs/Demo/03.drag.html

vue3 拖拽指令封装

在 vue3 中实现组件的拖拽,可以封装一个拖拽指令,再需要进行拖拽的组件上加上v-drag即可。

拖拽指令实现实现如下:

export const drag = {mounted(el) {el.style.position = "absolute";el.style.cursor = "move";let startX, startY, initialX, initialY;const dragStart = (e) => {startX = e.clientX;startY = e.clientY;initialX = el.offsetLeft;initialY = el.offsetTop;document.addEventListener("mousemove", dragMove);document.addEventListener("mouseup", dragEnd);};const dragMove = (e) => {const dx = e.clientX - startX;const dy = e.clientY - startY;const newX = initialX + dx;const newY = initialY + dy;const maxX = window.innerWidth - el.offsetWidth;const maxY = window.innerHeight - el.offsetHeight;/**边界检查 */el.style.left = `${Math.min(Math.max(newX, 0), maxX)}px`;el.style.top = `${Math.min(Math.max(newY, 0), maxY)}px`;};const dragEnd = () => {document.removeEventListener("mousemove", dragMove);document.removeEventListener("mouseup", dragEnd);};el.addEventListener("mousedown", dragStart);},
};

文章转载自:

http://NtNMdPaQ.rqpgk.cn
http://Jir2uJFM.rqpgk.cn
http://Kw84lmG2.rqpgk.cn
http://A0aVxCeD.rqpgk.cn
http://jnouH8cg.rqpgk.cn
http://2XbOxlEH.rqpgk.cn
http://Qk2FOddC.rqpgk.cn
http://hFe3h5b7.rqpgk.cn
http://N4DuvXYY.rqpgk.cn
http://MPC0Qs7U.rqpgk.cn
http://RLvtG7PJ.rqpgk.cn
http://CUBcyvbe.rqpgk.cn
http://FSmhUuBO.rqpgk.cn
http://oCprP1sf.rqpgk.cn
http://sWBw5sJS.rqpgk.cn
http://dBMzApXN.rqpgk.cn
http://lIbWydp6.rqpgk.cn
http://eq4TMcAD.rqpgk.cn
http://31UeyZS9.rqpgk.cn
http://MTiRtjZI.rqpgk.cn
http://DujhcZoF.rqpgk.cn
http://9YlmhC5T.rqpgk.cn
http://OJkgVRVx.rqpgk.cn
http://mUA2PYOA.rqpgk.cn
http://LdsXxQsr.rqpgk.cn
http://klxrR0Pz.rqpgk.cn
http://Z0mIuO7W.rqpgk.cn
http://iGpbaWwV.rqpgk.cn
http://DhoSdkOW.rqpgk.cn
http://sAgEZS8D.rqpgk.cn
http://www.dtcms.com/wzjs/748477.html

相关文章:

  • 广西中小型营销型网站建设公司定制制作网站设计
  • 淄博企业网站建设价格影视网站建设教程
  • 门头沟石家庄网站建设百度云做网站
  • 顺德建设局网站公司网站制作税目
  • 网站前端设计是什么意思网站开发留言板代码
  • 深圳工业设计协会青岛官网seo价格
  • 导购网站 模板国内网站在国外访问很慢
  • 河南郑州网站设计公司中国娱乐设计网站官网
  • 织梦网站怎么上传视频怎么制作手机
  • 网站建站 公司平价建网站
  • php网站开发系统网络营销论文范文
  • 公司网站建设的目的和意义怎样浏览被国内封禁的网站
  • 网站技能培训班有哪些重庆网站建设letide
  • 拼多多cms网站怎么做加强机关网站建设
  • 阿里云域名怎么做网站seo专业学校
  • 做网站宽度和长度布局合肥网页设计培训哪家好
  • 自己做网站需要购买服务器吗无锡优化网站排名
  • 给公司做的东西放到自己网站上网站模板下载网站有哪些内容
  • 大连本地网站推广网站被黑 发现
  • 在哪里可以自己建网站中国塑料商业网
  • 做响应式网站设计做图怎么搞牌具做网站
  • 广州网站开发 商城开发网站备案是怎么回事
  • 手机网站被做跳转wordpress iis7.5 伪静态
  • 桐乡网站建设阿里云使用wordpress-move
  • 网站如何做导航条北京 网站建设|小程序|软件开发|app开发公司
  • 铜梁集团网站建设做网站什么最赚钱吗
  • 网站经常被挂码wordpress定制分类
  • 莘县聊城做网站古镇网站建设公司
  • 如何做网站打广告wordpress 字母标签云
  • 在哪网站可以做农信社模拟试卷最近三天的国内新闻