首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用javascript拖动多个div

使用JavaScript拖动多个div可以通过以下步骤实现:

  1. 首先,在HTML文件中创建多个div元素,并为每个div元素添加唯一的id属性和相应的样式。
代码语言:txt
复制
<div id="div1" class="draggable">Div 1</div>
<div id="div2" class="draggable">Div 2</div>
<div id="div3" class="draggable">Div 3</div>
  1. 在JavaScript代码中,添加事件处理程序以实现拖动功能。
代码语言:txt
复制
// 获取所有拖动元素的引用
var draggables = document.getElementsByClassName("draggable");

// 保存当前拖动元素的引用
var activeDraggable = null;

// 保存拖动元素的初始位置
var initialX;
var initialY;

// 添加mousedown事件处理程序,当鼠标按下时开始拖动
for (var i = 0; i < draggables.length; i++) {
  draggables[i].addEventListener("mousedown", function (e) {
    // 保存当前拖动元素的引用
    activeDraggable = e.target;

    // 计算鼠标点击位置相对于拖动元素的初始偏移量
    initialX = e.clientX - activeDraggable.offsetLeft;
    initialY = e.clientY - activeDraggable.offsetTop;

    // 设置拖动元素的样式为绝对定位
    activeDraggable.style.position = "absolute";
  });
}

// 添加mousemove事件处理程序,当鼠标移动时更新拖动元素的位置
document.addEventListener("mousemove", function (e) {
  if (activeDraggable) {
    // 阻止默认的拖动行为
    e.preventDefault();

    // 计算鼠标移动距离
    var currentX = e.clientX - initialX;
    var currentY = e.clientY - initialY;

    // 更新拖动元素的位置
    activeDraggable.style.left = currentX + "px";
    activeDraggable.style.top = currentY + "px";
  }
});

// 添加mouseup事件处理程序,当鼠标释放时停止拖动
document.addEventListener("mouseup", function () {
  // 清除当前拖动元素的引用
  activeDraggable = null;
});

以上代码将为具有"draggable"类的每个div元素添加拖动功能。通过按下鼠标左键并拖动div元素,可以改变其位置。

请注意,这只是一个简单的示例,可以根据实际需求进行修改和扩展。

参考链接:

  • JavaScript Drag and Drop: https://www.w3schools.com/html/html5_draganddrop.asp
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Javascript 获取div真实高度

    比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。...如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。.../zhwl/p/3858682.html 实际测试过程中,发现上面获取真实高度是有问题,其实无论是设置在样式表还是在行内设置,都会获取到你设置的值,如果要获取真实高度,有如下思路,以行内样式来说: 获取真实高度:...alert(parseInt($('.article__content div').get(0).offsetHeight)); 获取时只要在这个样式里面的div大小,这个就是真实高度。

    5.1K30

    javascript对点击事件和拖动事件的区分

    由于是悬浮的,那么就会考虑用户会出现哪几种可能的操作,一个是直接点击,另外一种就是在屏幕上先拖动几下,然后再点击。 那么为了完美的实现这个需求,那么该怎么办呢?...最重要的就是要区分点击事件和拖动事件。 我们都知道,点击事件是被点击的对象可看做是静止不动的,而拖动事件的对象很明显是移动的。...那么思路就应该是先判断事件对象是否有移动的现象, 但是由于不管是在点击事件和拖动事件,其都有一个鼠标按下的一个过程和一个松开的过程,只不过拖动事件多了一个拖动动作。...那么完整的思路应是这样的: 第一:先写出鼠标按下的函数; 第二:编写对象是否被拖动的函数; 第三:判断对象是否相对原先位置产生了位移; 第四:编写鼠标松开之后的代码; 完整代码如下: var timmerHandle...function entranceDivMove (){   //可以使用isDrag来判断是移动还是拖动   var entrance = document.getElementById("entrance

    5.2K30

    JavaScript实现div的鼠标拖拽效果

    一个简单的可拖动div,随着鼠标的移动,实现原理鼠标按下时根据onmousemove事件来动态获取鼠标坐标位置以此来更新div的位置,实现的前提时div要有一个定位效果,不然的话是移动不了它的。...演示(鼠标按住拖动) CSS样式 .box { position: absolute; width: 200px; height: 200px; background:...red; } HTML 首先先分析一下需求,这个需求就是点击时鼠标按下你才能移动并改变div在页面中的位置。...isDrop = false;//设置为false不可移动 } 现在div已经可以拖拽了,目前还需要添加一个范围限定,不然div会拖到页面外面去,这样不行的所以得添加范围限定。...div最大移动宽度为页面宽减去div的宽,最小为零,最大高为页面高减去div的高,最小为零。

    2.8K30

    使用原生 JavaScript 在页面加载完成后处理多个函数

    上面代码的意思就是,当鼠标点击 id 为 link 的元素的时候,就触发了它的 onclick 事件,然后执行使用 JavaScript...JavaScript 正确的使用方法应该是 脚本与 HTML 元素分离、当页面加载完成之后再去执行。本文就来讲解如何使用原生 JavaScript 来实现。...以前需要在 HTML 中加上一些触发事件来触发 JavaScript 的相关函数,而现在直接在 JavaScript 中对某个元素的使用监听器,监听这个元素的事件,如果这个元素被触发了某些事件,在监听器中又定义了这个事件对应的处理函数...页面中无法出现多个 window.onload 事件,如果出现了多个 onload 事件,那么后面的内容会覆盖前面的。...前面说过 window.onload 事件加载的缺陷是只能在页面中使用一次。而使用监听器的方法,就可以监听为 window 的 onload 事件分别加载多个函数了。

    2.8K20

    ireport使用教程视频_proe拖动图形

    之后在报表的空白处单击,如此即可把对象添加到报表,然后拖动对象的边框,使它的大小合适,双击即可对对象中的文本进行快速编辑。...iReport可以添加保存多个数据源连接信息。 注:如提示找不到相关驱动,则需要将驱动的JAR包复制到iReport的lib文件夹下。 5....组 组是一个很重要的概念,一个报表可以多个组,每个组以一个关键字为标记,比如希望统计是根据项目(或是产品)进行统计的。那么可以设立一个项目标记的组。如图。...在这里,我们可以定义许多个常用的格式,按照个人喜好进行定义,定义后,在对象属性的页面上可以选择使用哪种风格,所设置的属性会自动继承。如图: 9....如果显示多个图表 在一张报表上显示一个图表和显示多个图表是不同的.

    2.7K20

    HTML5 拖放

    在WEB应用开发中,可能需要针对页面中的某个对象:图片、文字、容器等,进行位置的移动来实现自定义的布局 常见的拖放应用一:电商平台中的商家 店铺装修,这个时候电商平台会提供多个可以拖动的模块,商家可以根据...注:Safari 5.1.2不支持拖动 HTML5 拖放实例 一、实现标签元素的拖放步骤 由于要实现对某个元素的拖放功能,需要事先进行多个参数的设置,所以这里存在了步骤的概念,我们按照如下步骤进行即可,...如下代码我们如果要将图片放置到另一个div容器中,需要设置这个div容器可以放置其他元素(给他添加ondragover 事件,ondragover 规定当我们拖动的元素经过它的时候,可以将拖动的元素放置到此处...10px; border:1px solid blue; font-size:12px; text-align: center; } <script type="text/<em>javascript</em>...:10px;padding:10px;border:1px solid blue; text-align: center;} <script type="text/javascript

    1.5K20
    领券