HTML5实现简单的拖放功能

使用HTML5实现简单的拖放功能:

1.对象元素的draggable属性设置为true(draggable="true")。还需要注意的是a元素和img元素必须指定href;

2.编写拖拽有关的事件处理代码:

事件产生事件的元素描述
dragstart被拖放的元素开始拖放操作
drag被拖放的元素拖放过程中
dragenter拖放过程中鼠标经过的元素被拖放的元素开始进入本元素的范围之内
dragover拖放过程中鼠标经过的元素被拖放的元素正在本元素范围内移动
dragleave拖放过程中鼠标经过的元素被拖放的元素离开本元素的范围
drop拖放的目标元素其他元素被拖放到了本元素中
dragend拖放的对象元素拖放操作结束

3.案例实现代码:

(1)HTML代码段:

<div id="cun" οndrοp="drop(event)" οndragοver="allowDrop(event)"></div>
<br />
<img src="img/html5.png" id="tuo" draggable="true" οndragstart="drag(event)"/>

(2)CSS代码段:

#tuo{
	width: 540px;
	height: 320px;
	background: #e54d26;
}
#cun{
	width: 540px;
	height: 320px;
	border: 2px solid #d2d2d2;
	box-shadow: 1px 4px 8px #646464;
}
img{
	width: 500px;
	height: 280px;
}

(3)JavaScript代码段:

function allowDrop(ev){
	//不执行默认处理(拒绝被拖放)
	ev.preventDefault();
};
function drag(ev){
	//使用setData(数据类型,携带的数据)
	//方法将要拖放的数据存入dataTransfer对象
	ev.dataTransfer.setData("Text",ev.target.id);
};
function drop(ev){
	//不执行默认处理(拒绝被拖放)
	ev.preventDefault();
	//使用getData()获取到数据,然后赋值给data
	var data = ev.dataTransfer.getData("Text");
	//使用appendChild方法把拖动的节点放到元素节点中成为其子节点
	ev.target.appendChild(document.getElementById(data));
};

4.实现的效果如下:

(1)未拖放之前:


(2)拖放之后:


  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值