HTML5如何实现图片的拖动跟我一起学

HTML5拖放

拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在HTML5中,拖放是标准的一部分,任何元素都能够拖放。拖放特效可以应用在很多地方,如把苹果放进篮子里等的小游戏,通过拖拽把文字扔进垃圾桶里等等。

在拖放的过程中会触发以下事件:

在拖动目标上触发事件(源元素):ondragstart-用户开始拖动元素时触发ondrag-元素正在拖动时触发ondragend-用户完成元素拖动后触发释放目标时触发的事件:ondragenter-当被鼠标拖动的对象进入其容器范围内时触发此事件ondragover-当某被拖动的对象在另一对象容器范围内拖动时触发此事件ondragleave-当被鼠标拖动的对象离开其容器范围内时触发此事件ondrop-在一个拖动过程中,释放鼠标键时触发此事件如何在拖动对象之间传递数据

HTML5为所有的拖动相关事件提供了一个新的属性:

e.dataTransfer{}

功能:用于在源对象和目标对象的事件间传递数据

源对象上的事件处理中保存数据:

e.dataTransfer.setData(k,v);

目标对象上的事件处理中读取数据:

varv=e.dataTransfer.getData(k);

HTML5拖动实例

divid=div1ondrop=drop(event)ondragover=allowDrop(event)/div

imgid=drag1src=/images/logo.pngdraggable=trueondragstart=drag(event)width=height=69

script

functionallowDrop(ev){ev.preventDefault();}

functiondrag(ev){ev.dataTransfer.setData(Text,ev.target.id);}

functiondrop(ev){

ev.preventDefault();

vardata=ev.dataTransfer.getData(Text);

ev.target.appendChild(document.getElementById(data));

}

/script

说明:在上面的实例代码中:首先将image图片定义为draggable=true为可拖动的,当拖动时执行drag(event)事件,当拖动到div1上时,触发allowDrop(event)事件,当这时放手时,会执行ondrop事件,即将图片作为div1的内部元素存储,在页面表现上就是图片在div1层里面了。




转载请注明:http://www.aierlanlan.com/cyrz/2742.html