HTML5学习笔记之拖放

HTML5学习笔记之拖放


对于HTML5,拖放是一个标准的一部分,任何元素都是可以被拖放的。
HTML5的拖放功能是通过JS来实现的,在通过对标签元素的获取,在JS中通过对需要拖放的位置调用函数ondragover,禁止浏览器的默认事件,设置被拖放元素的id,调用函数实现拖放。

<span style="white-space: pre;"></span><pre name="code" class="html">//demo01.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拖放</title>
    <style>
        .box{
            width: 400px;
            height: 400px;
        }
        #div01{
            float: left;
            background-color: aquamarine;
        }
        #div02 {
            float: left;
            background-color: deeppink;
        }
    </style>
    <script src="Demo01.js"></script>
</head>
<body>
    <div id="div01" class="box"></div>
    <div id="div02" class="box"></div>
    <img src="img01.jpg" id="img01">
    <div id="msg" style="clear: both;"></div>
</body>
</html>

 相关JS代码: 
<pre name="code" class="javascript">//demo01.js
var div01,msgDiv,img01;

window.onload = function(){
    div01 = document.getElementById("div01");
    div02 = document.getElementById("div02");
    msgDiv = document.getElementById("msg");
    img01 = document.getElementById("img01");

    div01.ondragover = function(e){
        e.preventDefault();
    }

    div02.ondragover = function(e){
        e.preventDefault();
    }

    img01.ondragstart = function(e){
        e.dataTransfer.setData("imgId","img01");
    }

    div01.ondrop = dropImghandler;
    div02.ondrop = dropImghandler;

}

function dropImghandler(e){
    showObj(e);
    e.preventDefault();

    var img = document.getElementById(e.dataTransfer.getData("imgId"));
    e.target.appendChild(img);

}

function showObj(obj){
    var s = "";
    for(var k in obj){
        s += k + ":"  + obj[k] + "<br />"
    }
    msgDiv.innerHTML = s;
}

 浏览器执行结果: 



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值