HTML5之拖放属性实现图片的拖放

HTML5中实现拖放操作,至少经过如下步骤
      1)设置被拖放对象元素的draggable属性设置为true
      2)编写与拖放有关的事件处理代码
事件产生事件的元素
描述
dragstart被拖拽物体开始拖放
dragenter被拖拽物体开始进入区域
进入范围
dragover拖放过程中鼠标经过的元素(包括目标对象)正在元素上
dragleave拖放离开时鼠标经过的元素(包括目标对象)离开范围
drop目标对象被拖拽物体放下 
dragend被拖拽物体
拖放结束

事件发生的顺序: dragstart -> dragenter -> dragover ->dragleave ->drop ->dragend
如果分为两组来看:

被拖拽元素 (发生的事件)
要进入的目标元素(发生的事件)
dragstartdragenter
dragenddragover

dragleve

drop

一个简单的例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>HTML5拖放属性</title>
    <style>
        .box {
            width: 400px;
            height: 400px;
            float: left;
        }
        #box1 {
            background: #ccc;
        }
        #box2 {
            background: palevioletred;
        }
    </style>
    <script>

        //声明全局变量
        var box1,img,box2;
        window.onload = function () {
            box1 = document.getElementById("box1");
            box2 = document.getElementById("box2");
            img1 = document.getElementById("img1");

            //ondragover拖放过程中鼠标经过的元素(包括目标对象)
            box1.ondragover = function (e) {
                e.preventDefault();//阻止系统默认事件
            };
            box2.ondragover = function (e) {
                e.preventDefault();//阻止系统默认事件
            };


            //ondragstart被拖拽的物体
            img1.ondragstart = function (e) {
                e.dataTransfer.setData("imgID","img1");//设置setData()
            };

            box1.ondrop = dropimg;//ondrop拖拽物体放下的时候
             box2.ondrop = dropimg;

            //图片拖动方法
            function dropimg(e) {
                e.preventDefault();
                e.target.appendChild(document.getElementById(e.dataTransfer.getData("imgID")));//获得getData()
            }
           
        }
    </script>
</head>
<body>
<div class="box" id="box1" draggable="true"></div>
<div class="box" id="box2" draggable="true"></div>
<img src="../img/sbg1.jpg" id="img1" alt="图片">
</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值