简单的拖拽模型

一,前言

1.本文通过实现一个物体的拖拽,简单介绍一下拖拽的api

2.一个简单的拖拽模型,包含目标元素拖拽过程,和容器元素

二,目标元素

1.要想实现拖拽,首先我们要设置目标元素的draggable属性为true,允许元素是可拖动的

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

2.为目标元素绑定拖拽的事件,可以直接绑定在标签元素上,或者使用addEventListener,可以根据实际需求选择要绑定事件

(1)dragstart 开始拖拽执行一次
(2)drag 拖拽中一直执行
(3)dragend 结束拖拽执行一次

<div id="target" draggable="true" ondragstart="handleDragStart"></div>
const dom = document.getELementById("target")
dom.addEventListener('dragstart', handleDragStart)

3.通常我们在拖拽的时候,需要传递一些数据,可以通过拖拽事件的事件对象的dataTransfer.setData传递

const handleDragStart = (event: any) => {
  // 拖动开始时设置数据传输
  const {
    size,
    title,
    id
  } = event.target.dataset;  //从目标元素的dataset获取数据

  event.dataTransfer.setData("size", size); // 在通过事件对象的`dataTransfer.setData`传递给容器
  event.dataTransfer.setData("title", title);
  event.dataTransfer.setData("title", id);
};

三,容器元素

1.对于容器元素,我们要绑定,dragover,和drop,来监听目标元素的降落

(1)dragover 拖拽元素经过时触发
(2)dragenter 元素进入时触发
(3)dragleave 元素离开时触发
(4)drop 拖拽元素放下时触发

<div id="box"  ondragover="handleDragOver" ondrop="handleDrop"></div>

2.dragover一定要绑定,且要阻止默认行为

const handleDragOver = (event: any) => {
  event.preventDefault();
};

3.我们可以在drop事件获取元素传递的值,

const handleDrop = (event: any) => {
  //获取拖拽元素数据,可以通过获取的元素的值,做一下业务
  const transferSize = event.dataTransfer.getData("size");
  const title = event.dataTransfer.getData("title");
  const id= event.dataTransfer.getData("title");
  // 获取目标元素dom,放入容器元素
  event.target.appendChild(document.getElementById(id))
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 直流电机是普遍应用于各种工业控制及自动化系统中的关键元件,其电动机主要是由电枢、磁场和机械部分组成。在工业实际应用中,直流电机的电机拖动系统更是必不可少的,本文将介绍直流电机拖动模型框图simulink。 针对直流电机拖动系统,Simulink提供了一个特殊的电机模块,并且允许对周围的控制环境建模。在建模时要考虑到其包含很多元件,比如电机、输入信号、控制器、电池、反馈等等。建立拖动模型框图的原则是尽可能的简化,但保留电机本身的重要功能。 在Simulink中,首先要建立直流电机的数学模型,包括电机电路参数、电机转动运动学关系方程和电机控制律等。然后,将电机装入控制系统中,包括电机输入电压信号、控制器、反馈环节等。最后在Simulink中将这些模块组合在一起。 拖动模型框图中主要包含以下模块:各种电机参数、电池、功率电子器件、控制器、反馈环节等。其中电机参数模块主要包括电阻、电感、电动力方程等。电池模块主要指用何种电池为直流电机供电。功率电子器件模块是指直流电机的速度、转矩和方向需要通过使用各种特定的逻辑电路才能得到。控制器模块一般为PID控制器,控制电机的输出信号,使其满足期望值。反馈环节模块则是为了获取电机各种参数的反馈信息。 总之,直流电机拖动模型框图Simulink是一个完整的电力电子控制系统,它能够让工程师以最快的时间内搭建出理想的电动机控制系统,并对其进行仿真和测试,从而实现优化控制并降低生产成本的目的。 ### 回答2: 直流电机是工业生产中最常用的一种电机类型,因其运行可靠、结构简单、调速性能好等特点广泛使用于工业生产现场,对于直流电机的研究和模拟,也是工程师们常常要进行的工作之一。 Simulink是MATLAB中的一种模块,在Simulink中,我们可以通过搭建模型框图的方,来模拟直流电机的拖动过程。同时,在Simulink中,也可以自定义不同的控制器,以实现直流电机的调速等功能。 针对直流电机拖动模型框图,我们可以按照以下过程进行设计: 1. 构建电机模型:根据直流电机的特性,我们需要确定直流电机的参数,包括电感、电阻、电动势等。根据这些参数,我们可以搭建直流电机的模型框图。 2. 设计控制器:为实现直流电机的调速控制,我们需要设计控制器。控制器的设计应该能够根据外部输入的信号,来控制电机的旋转速度。 3. 进行模拟:在Simulink中,我们可以进行模拟计算,以验证所设计的直流电机模型和控制器是否能够满足要求。通过反复的模拟验证,我们可以对直流电机的拖动过程有更深入的理解,并不断优化设计方案。 总之,通过Simulink搭建直流电机的拖动模型框图,可以帮助我们更好地研究直流电机的工作原理和性能,并实现电机的控制和调速,对于提高工业生产效率和降低能源消耗功不可没。 ### 回答3: 直流电机是一种常见的电动机,它的控制是很重要的。为了方便控制和分析直流电机,我们可以使用Simulink来建立直流电机拖动模型。建立模型的框图如下: 首先,我们需要设定电机的参数。包括电动机的电阻,电感和转矩常数等参数。接下来是控制器的部分。我们需要设定控制器,包括比例控制器或其他类型的控制器来对电机进行控制。我们可以使用PID控制器或其他控制器来控制电机。 接着是模拟输入部分。我们需要将设置好的模拟输入,如实际转速,期望转速以及实际电流等输入到模型中。然后我们将设定好的电机参数和控制器连接到输入部分。在这个部分中,我们可以使用不同的输入信号,如正弦波,方波或三角波等。 接下来是电机的部分。我们将设置好的电机参数和控制器的输出连接到电机。这将使模型在开始运行时,从控制器中得到指令,使电机产生相应的反应。在模型的这一部分,我们还可以添加减速器,负载等。 最后是输出部分。在这一部分,我们将从电机中得到反馈信号,如电流,转速和转矩等。这些反馈信号可以用于观察电机的反应和性能,分析其性能和进行校准。 这就是直流电机拖动模型的框图。建立模型框图是进行模拟分析和测试的基础。通过Simulink,我们可以更好地掌握电机的工作原理和性能,以实现更好地控制和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值