javascript+css实现拖拽效果(点击图片,图片返回原区域)

<!DOCTYPE html>

<html lang="en">



<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>拖拽实例</title>

    <style type="text/css">
        div {

            border: 3px dashed #ccc;

            margin: 10px auto;

            padding: 10px;

            height: 300px;

            width: 800px;

        }
    </style>

</head>



<body>

    <div id='d1'>

        <img src="http://image.biaobaiju.com/uploads/20190114/20/1547469081-ytacOZdCWK.jpg" id='img1' draggable="true"
            width="240">

        <img src="http://image.biaobaiju.com/uploads/20190114/20/1547469081-ytacOZdCWK.jpg" id='img2' draggable="true"
            width="240">

        <img src="http://image.biaobaiju.com/uploads/20190114/20/1547469081-ytacOZdCWK.jpg" id='img3' draggable="true"
            width="240">

    </div>

    <div id='d2'>

        <P>拖动目的地点击返回</P>

    </div>

</body>



</html>

<script>

    var imgLIst = document.getElementsByTagName('img')

    for (var i = 0; i < 3; i++) {

        //ondragstart当你拖拽的时候

        imgLIst[i].ondragstart = function (event) {

            //当拖拽时获取ID setData(类型,值)

            event.dataTransfer.setData('text', event.target.id);

        }

    }

    //移动到位置

    var div = document.getElementById('d2');

    var idList = []

    //悬停时有效果

    div.ondragover = function (event) {

        event.preventDefault();//禁止dragover事件的默认行为

    }

    div.ondrop = function (event) {

        var id = event.dataTransfer.getData('text');

        console.log(id);

        var img = document.getElementById(id)//getData获取保存de数据和类型

        var that = this

        that.appendChild(img)

        idList.push(id)

        //点击图片时删除图片

        img.onclick = function (event) {

            document.getElementById('d1').appendChild(document.getElementById(event.target.id))

            idList.splice(event.target.id, 1)

            console.log('变化', idList)

        }

        console.log(idList)

    }



</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值