HTML5拖放

1.HTML5拖放:

拖放(drag ,drop)是HTML5标准的组成部分。


2.拖动开始:

ondragstart:调用了一个函数,drag(event),它规定了被拖动的数据。


3.设置拖放数据:

setData():设置被拖放的数据类型和值。


4.放入位置:

ondragover:事件规定在何处放置被拖动的数据。


5.放置:

ondrop:当放置被拖动数据时,会发生drop事件。


实例代码如下:

(1)HTML文件代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拖放</title>
        <style>
            .box{
                width: 400px;
                height: 400px;
            }

            #box1{
                background-color: #cccccc;
                float: left;
            }

            #box2{
                background-color: aquamarine;
                float: left;
            }

        </style>
    <script src="app.js"></script>

</head>
<body>

    <div id="box1" class="box"></div>
    <div id="box2" class="box"></div>
    <img id="img1" src="1.png">
    <div id="msg"></div>

</body>
</html>

(2)JS文件代码如下:

/**
 * Created by chenyufeng on 15/9/28.
 */


var box1Div,box2Div,msgDiv,img1;
window.onload = function(){

    box1Div = document.getElementById("box1");
    box2Div = document.getElementById("box2");
    msgDiv = document.getElementById("msg");
    img1 = document.getElementById("img1");


    //box1Div.ondragenter = function(e){
    //    showObj(e);
    //}

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

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

    img1.ondragstart = function(e){

        e.dataTransfer.setData("imgId","img1");

    };

    box1Div.ondrop = dropImghandler;
    box2Div.ondrop = dropImghandler;

};

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

    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;
}

实现效果如下:



.


github主页:https://github.com/chenyufeng1991  。欢迎大家访问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值