最近再做一个项目,用到了javascript中的拖拽,本来就对javascript中的事件不是特别熟悉,对于拖拽更是一知半解,现在在网上找到了一个简单的拖拽的例子,觉得很不错,先摘录下来,希望对对拖拽同样有困惑的朋友们有所帮助。
1.定义一个被拖拽的对象:
<img id="drag1"src="static/images/1.jpg"draggable="true"ondragstart="drag(event)" width="200px" height="200px">
这里面有个属性draggable="true",表示这个img元素允许被拖拽到其他地方。ondragstart是一个事件,用来处理我们想要的事情,比如说拖拽的时候传递一些信息等等。
2.定义一个允许被拖入其中的区域,这里用一个div来表示:
<div id="div" ondrop="drop(event)" ondragover="allowDrop(event)" style="width:200px;height:200px;border:1px solid red;"></div>
这里面有个ondrop事件,表示拖拽的元素落入这个区域的时候发生的事情。比如可以接收来传递过来的信息,并对信息进行处理。ondragover事件指的是被拖拽元素出现在目的区域的上面的时候发生的事情。也可以定义自己的逻辑。
3.有了上面的两个元素,下面就开始用javascript函数来处理各个事件了。
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("Text", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
参照上面的img,div连个元素中定义的事件,这几个函数就不难看懂了。而且还能处理传递过来的信息。
以上部分内容参考自www.w3cschool.cc网站。
分享到:
相关推荐
用JQuery写的拖动元素进行排序的方法,包含拖动排序、拖动移除、拖动添加。 代码完整可用。没有用到第三方插件,自主可控。 原理是用CSS中position定位来跟踪鼠标移动,就是让元素跟踪鼠标位置,然后判断其在页面...
拖放(Drag and Drop)是用户交互的一种常见方式,允许用户通过鼠标将一个元素从一处拖动到另一处。在jQuery中,可以使用`.draggable()`和`.droppable()`这两个插件来实现这一功能。首先,我们需要理解这两个方法的...
请注意,这只是一个基础示例,实际应用中可能需要考虑更多的细节,比如兼容性问题、多个可拖动元素、元素的复制而非移动等。在实际项目中,可以使用库如jQuery UI或interact.js来简化和扩展拖放功能,它们提供了更...
JavaScript 实现简单的拖拽效果是前端开发中常见的一种交互功能,它可以增强用户的体验,使得用户可以自由地在页面上移动某个元素。以下是如何使用 JavaScript 实现这一效果的详细步骤: 首先,我们需要设置页面的...
然而,缺点也很明显,比如它可能无法处理复杂的边界条件,如限制元素在容器内拖动,或者处理多元素拖拽等。此外,这个例子可能没有考虑到触摸设备的兼容性,对于现代多平台应用来说是个短板。 第二个例子是“google...
接下来,为了实现多个div的拖拽功能,我们需要为每个可拖动的div添加单独的事件监听器,并维护一个状态对象,用于存储每个div的当前位置。这样,每次鼠标移动时,都可以根据对应div的状态进行位置更新。 然后,我们...
"一个基于纯JavaScript实现表格列拖动、排序的功能的js类库源码及例子" 提供了一个解决方案,让开发者能够轻松地为他们的网页应用添加动态且用户友好的功能。这个类库专门针对表格数据展示,允许用户通过拖动列头来...
在JavaScript(JS)中,拖放(Drag and Drop)功能是一种常见的交互设计,它允许用户通过鼠标或触摸设备将元素从一个位置拖动到另一个位置。这个“JS 拖拽例子”是一个教学实例,旨在展示如何在网页上实现拖放操作。...
"draggable"特性是jQuery库的一个插件,它使得开发者能够轻松地为页面上的元素添加拖拽功能,从而实现更丰富的用户体验。在本篇文章中,我们将深入探讨如何使用draggable插件以及与之相关的知识点。 首先,我们需要...
在这个例子中,`draggy`函数接受一个SVG元素作为参数,并为其添加拖拽行为。默认情况下,SVG元素可以在整个画布内自由拖动。如果你想限制拖动范围,可以传递配置对象,比如: ```javascript draggy(svgElement, { ...
总的来说,这个“鼠标拖动一个方框”的例子展示了JavaScript在图形界面交互中的应用,涵盖了事件处理、DOM操作、坐标计算等核心知识点。通过深入理解并实践这一功能,开发者可以进一步提升在网页交互设计上的能力。
这个压缩包中的资源提供了一个实现滚动放大缩小和拖动查看图片的例子。下面将详细解释这个实现过程及其涉及的关键知识点。 首先,`test.html`是主HTML文件,它包含了整个预览功能的基本结构。在HTML中,你需要创建...
Swing 是一个JavaScript库,专为实现容器内卡片元素的拖拽功能而设计,尤其吸引人的是它提供了独特的视觉效果,当用户尝试将卡片元素移出容器时,卡片会呈现出逼真的弹性摇摆效果。这一特性使 Swing 成为了前端...
首先,你需要创建一个包含多个可拖动元素(如`<li>`)的容器(如`<ul>`)。每个`<li>`元素应具有唯一的标识符或属性,以便于在JavaScript中区分它们。 ```html <!-- 创建多个li元素 --> ``` 2. **初始化元素和...
在这个例子中,当用户点击“添加新div”按钮时,会在id为"container"的div内创建一个新的div,并通过`draggable()`使其可拖动。 **自定义div大小** 在HTML中,我们可以直接设置div的宽度和高度。例如: ```html ; ...
总的来说,"jQuery任意拖动页面中元素代码.zip"提供了一个简单易用的工具,帮助开发者快速实现网页元素的拖放功能。通过学习和应用DDSort.js,你可以在项目中增加丰富的交互性,提高用户参与度,同时也可以加深对...
在这个例子中,我们创建了一个可拖动的元素和一个接收拖动元素的目标区域。拖动元素时,它会跟随鼠标移动;当释放鼠标时,如果元素位于目标区域内,就会显示在该区域。这只是一个基本的实现,实际应用中可能需要处理...
"JavaScript+CSS层拖动类示例"提供了一个实用的解决方案,它允许用户通过鼠标轻松地移动页面上的元素,例如窗口、图片或者文本框。这个实例包含三个不同的例子,分别演示了图片窗口、纯文本以及图文混合的拖动效果。...
这是一个可拖动的元素 ``` ```javascript document.getElementById('dragItem').addEventListener('dragstart', function(event) { // 开始拖拽时的处理 }); document.getElementById('dragItem')....
这个例子展示了如何利用JavaScript将一个窗口定位到网页的右下角。主要知识点包括: - CSS布局:理解页面坐标系统,使用绝对定位(position: absolute)将元素放置在页面的特定位置,通常是相对于其最近的已定位...