html5 drag

这里是学习html5的拖放功能。这个API主流浏览器基本支持。ie浏览器是有限支持,dataTransfer.setData/getData。

在html5里面,任何元素都是可以拖放的。

  • 需要拖放的元素要添加draggable="true"这个属性。然后设置拖动的时候触发的事件οndragstart="drag(event)"。函数里面设置传递的数据,将拖动元素的信息传递给e.dataTransfer。
  • 设置ondragover事件触发的函数。先要将存放元素的容器如div触发ondragover事件,确保容器可以放元素,使用event.preventDefault()方法。然后容器触发ondrop事件,接受e.dataTransfer传递过来的值。

代码:


<style type="text/css" rel="stylesheet">
body {
width:80%;
margin:0 auto;
}
.drop {
border:1px solid black;
width:30%;
height:200px;
float: left;
}
img {
width:20%;
}
</style>
<script type="text/javascript">
function allowdrop(e){
e.preventDefault();
}

function drag(e){
e.dataTransfer.setData('text',e.target.id);
}

function drop(e){
e.preventDefault();
var data = e.dataTransfer.getData('text');
e.target.appendChild(document.getElementById(data));
}
function drop_del(e){
e.preventDefault();
var data = e.dataTransfer.getData('text');
//e.target.appendChild(document.getElementById(data));
document.getElementById(data).remove();
}
</script>
</head>
<body>
<div>
<h2>做蛋糕要用哪些材料呢,选出来扔进篮子里吧</h2>
<img src="./ex_1.jpg" alt="pic" id=dragimg1 draggable="true" οndragstart="drag(event)">
<img src="./tx.jpg" alt="pic" id=dragimg2 draggable="true" οndragstart="drag(event)">
<img src="./tx.jpg" alt="pic" id=dragimg3 draggable="true" οndragstart="drag(event)">
</div>

<div class="drop" οndragοver="allowdrop(event)" οndrοp="drop(event)">

</div>

<div class="drop" οndragοver="allowdrop(event)" οndrοp="drop_del(event)"><p>多出来的扔掉吧~</p></div>

转载于:https://www.cnblogs.com/lionisnotkitty/p/6166001.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值