`
javasalatu
  • 浏览: 785130 次
  • 性别: Icon_minigender_2
  • 来自: 北京
博客专栏
96df99eb-e89d-3228-9c8e-967fc745ec52
程序员的自我经营之道
浏览量:7914
文章分类
社区版块
存档分类
最新评论

web拖动Drag&Drop原理

 
阅读更多
< html >
< head >
< title > PageTitle </ title >
< style > ...

.drag
{...} {
cursor
: move ;
}




.box
{...} {
margin
: 0px ;
width
: 200px ;
border
: 1pxsolid#ccc ;
}

.boxh3.title
{...} {
margin
: 0px ;
width
: 100% ;
background-color
: #ccc ;
}

.boxdiv.content
{...} {
margin
: 0px ;
width
: 100% ;
text-align
: left ;
}

</ style >

< script type ="text/javascript" > ...
// GreatGhoul
//
兼容ff,ie
//
要拖动的对象的title设置为'dragable'
//
拖动点的class设置为'drag',拖动点必须为可拖动对象的子节点

var DragableObj = ... {
handle:
null ,
dx:
0 ,
dy:
0 ,

init:
function (e) ... {
e
= e || event;
this .handle = e.target || e.srcElement;
if ( this .handle.className.indexOf( ' drag ' ) == - 1 ) return ;
while ( this .handle.tagName != ' HTML ' && this .handle.title != " dragable " ) ...
{
this .handle = this .handle.parentNode || this .handle.parentElement;
}

if ( this .handle.title != ' dragable ' ) return ;
this .handle.style.position = ' relative ' ;
this .dx = parseInt( this .handle.style.left + 0 ) - e.clientX;
this .dy = parseInt( this .handle.style.top + 0 ) - e.clientY;
document.onmousemove
= DragableObj.drag;
}
,
drag:
function (e) ... {
e
= e || event;
if ( this .handle != null ) ... {
this .handle.style.left = (e.clientX + this .dx) + ' px ' ;
this .handle.style.top = (e.clientY + this .dy) + ' px ' ;
}

}
,
drop:
function (e) ... {
this .handle = null ;
document.onmousemove
= null ;
}

}
;
document.onmousedown
= DragableObj.init;
document.onmouseup
= DragableObj.drop;
document.onselectstart
= function (e) ... {
e
= e || event;
eo
= e.target || event.srcElement;
if (eo.className.indexOf( ' drag ' ) != - 1 ) return false ;
}
;

</ script >
</ head >
< body >
< br > 例1:
< div class ="box" title ="dragable" >
< h3 class ="dragtitle" >拖动标题 </ h3 >
< div class ="content" >内容 </ div >
</ div >

< br > 例2:
< div class ="drag" title ="dragable" > 拖动我 </ div >

</ body >
</ html >
分享到:
评论

相关推荐

    HTML5实践Drag&Drop

    3. **drag事件**:拖动过程中持续触发,更新拖动状态。 4. **dragenter事件**:当被拖动的元素进入目标元素时触发。 5. **dragover事件**:在目标元素上持续拖动时触发,通常用于阻止浏览器默认行为,允许拖放。 6. ...

    一个很不错的drag & drop

    标题中的“一个很不错的drag & drop”指的是使用拖放(Drag & Drop)技术的一个应用程序或功能,这在网页设计和开发中非常常见。拖放功能允许用户通过鼠标将元素从一处拖到另一处,实现数据的移动、拷贝或者进行其他...

    Drag & Drop Modules

    在Web开发中,HTML5引入了`Drag and Drop` API,使得在浏览器中实现拖放操作变得更加简单和标准化。 在JavaScript虚拟机2(JSVM2)环境中,拖放功能的实现通常涉及到以下关键步骤: 1. **事件监听**:设置`...

    Drag & Drop Files to Delete.zip

    标题“Drag & Drop Files to Delete.zip”提示我们这是一个与JavaScript相关的项目,可能涉及到文件操作,特别是拖放(Drag & Drop)功能,用于删除文件。在Web开发中,这种功能允许用户通过简单的拖放操作来处理...

    拖拽 Draganddrop.html

    在Web开发中,拖放(Drag and Drop)功能是一项常用的技术,允许用户通过鼠标操作将元素从一处拖动到另一处,实现数据移动或交互。在这个实例中,“Draganddrop.html”很可能是一个演示了如何在HTML页面上实现拖放...

    drag-drop-plus够物车PHP.rar

    Drag & Drop是一种常见的用户交互方式,允许用户通过鼠标或其他输入设备选择一个元素(如商品图片或图标),然后将其“拖动”到另一个位置(如购物车)。这种技术极大地提高了用户体验,使用户能够直观地进行操作,...

    mootools1.2.1 drag and drop 拖拽

    在JavaScript的世界里,MooTools是一个轻量级且强大的库,它提供了许多实用的功能,包括对DOM操作、事件处理、动画效果以及高级功能如拖放(Drag & Drop)。本篇文章将详细探讨如何利用MooTools 1.2.1版本实现拖拽...

    掌握JavaScript中的Drag and Drop API:交互式Web应用开发指南

    Drag and Drop API是HTML5规范的一部分,它提供了一种在Web页面上实现拖拽功能的方法。通过这个API,开发者可以创建交互性强、用户友好的应用,如文件上传、内容重新排序等。本文将详细介绍Drag and Drop API的基本...

    DragandDrop.rar_dragAndDrop

    在IT行业中,文件拖放(Drag and Drop)是一种常见的用户交互技术,允许用户通过鼠标将一个元素从一处拖动到另一处,常用于文件管理、应用程序界面操作等场景。本资料"DragandDrop.rar_dragAndDrop"聚焦于在Internet...

    drag-drop-folder-tree(功能强大的动态树)

    在"drag-drop-folder-tree"中,用户可以选择一个节点,然后将其拖动到树的其他部分,以改变节点的父节点关系,实现节点在树中的移动。这种功能在文件管理或项目管理等场景中尤其有用。 右键点击菜单是另一种增强...

    基于HTML5 拖拽接口(Drag and drag-and-drop interfaces based on HTML5

    3. `drag` 事件:在拖动过程中持续触发,可以用来更新拖动状态,但通常这个事件用得较少。 4. `dragenter` 事件:当拖动的元素进入另一个可接受拖放的目标元素时触发。可以用于改变目标元素的视觉反馈,比如高亮...

    DW拖拽(drag drop)的例子

    "拖拽(Drag & Drop,简称D&D)"是用户界面中的一种常见交互方式,允许用户通过鼠标或其他输入设备将一个元素从一处“拖动”到另一处“放下”。在DW中,拖拽功能可以极大地提高网页设计和开发的效率。 在...

    draganddrop拖放库vuedndmobile

    拖放(Drag and Drop,简称DnD)是一种常见的用户交互模式,允许用户通过拖动元素到目标位置来实现数据操作。在Web应用中,这种功能可以极大地提升用户体验,尤其是在处理列表排序、文件管理等场景下。Vue DnD ...

    jquery 实现Drag and drop的例子

    本篇文章将深入探讨如何使用jQuery实现拖放(Drag and Drop)功能,特别是针对图片的拖放操作。拖放功能是网页交互中常见的一种增强用户体验的方式,常用于文件上传、页面元素排序等场景。 首先,我们需要引入jQuery...

    YUI3 实现overlay展开是tree,并且树节点可以拖拽-drag和drop

    `DD`模块包括了`Drag`和`Drop`两个部分,分别处理拖动源和目标的行为。为了使树节点支持拖放,我们需要对每个节点进行适配,使其具有拖动源的特性。同时,还需要定义或找到合适的拖放目标区域,使得在用户拖动节点时...

    DragDropr - Drag & Drop Page Builder-crx插件

    它允许您以最直观的方式轻松地创建,编辑和设计内容,或以最直观的方式为您的网站,网站或任何其他Web内容创建:拖动和删除。它也是唯一的通用视觉编辑器,这意味着它与您可能使用的任何CMS兼容:WordPress,...

    gwt 之dualListField (drag and drop)

    GWT提供了强大的Drag and Drop支持,允许开发者创建可拖动的元素和目标接收区。这个API包括了DragContext、DragStartHandler、DragEndHandler、DropHandler等多个接口,以及DragSource、DropTarget等类,它们共同...

    计算机软件-编程源码-DW拖拽(drag drop)的例子.zip

    在计算机编程领域,拖放(Drag and Drop,简称DW)是一种常见的用户交互技术,它允许用户通过鼠标或其他输入设备将一个对象从一处“拖动”到另一处“放下”。这个例子是一个关于如何在编程中实现DW功能的源码示例。...

    DRAG-DROP_TPSCRPT:具有打字稿和简单CSS的DRAG _&_ DROP应用

    【标题】:“DRAG-DROP_TPSCRPT:具有打字稿和简单CSS的DRAG _&_ DROP应用”指的是一个利用TypeScript(打字稿)和CSS(层叠样式表)技术实现的拖放(DRAG & DROP)应用程序。在前端开发中,拖放功能是一种常见的...

    drag-and-drop实现浏览器的图片预览

    在IT行业中,拖放(Drag-and-Drop)功能是一种常见的用户交互方式,它允许用户通过鼠标操作将元素从一处移动到另一处。在本话题中,我们关注的是如何实现浏览器中的图片预览功能,特别是在拖放操作时。这个功能常见...

Global site tag (gtag.js) - Google Analytics