H5鼠标拖放事件

故名思意 鼠标拖动,首先写一个div,在div后边引入一张图片,再添加上可拖动属性

<body>
    <div id="res">
    </div>
    <img id="image" src="./img/熊猫烧香.png" draggable="true" width="200px" alt="">
</body>

draggable=true/false 可拖动/不可拖动

因为是给图片加的拖动事件 所以拖放开始(ondragstart)属性要加到img标签上,结束位置在div里,所以给div加拖放结束(ondragover),拖放还需要一个过程(ondrop)也是加到div里,他们都是事件,待会写的时候我们会用到事件对象,绑定方法的时候需要加上event(事件对象),稍微加个样式美化一下

<div id="res" ondragover="dragOver(event)" ondrop="dragDown(event)"></div>
<img id="image" src="./img/熊猫烧香.png" draggable="true" ondragstart="dragBegin(event)" width="200px" alt="">

方法名可自定义 不可使用关键字

 

此图为样例图

拖放开始

οndragstart=“调用的方法函数”

// 拖放开始
function dragBegin(e) {
    // 存储id值
    e.dataTransfer.setData("Text", e.target.id)
}

将被拖动的属性存储

e.dataTransfer.setData("Text",even.target.id)

拖放过程

οndrοp="调用的方法函数"

function dragDown(e) {
    // 允许拖放
    e.preventDefault();
    // 获取属性并赋值给id
    var id = e.dataTransfer.getData("Text");
    // 将该元素添加到指定区域中
    e.target.appendChild(document.getElementById(id))
}

拖放结束

οndragοver="调用的方法函数"

function dragOver(e) {
    // 允许拖放
    e.preventDefault();
}

这里用到了形参和实参,形参为声明函数时括号里的参数没有实际变量,而实参是在调用函数时所写的实际参数。

举个例子

//实参
sum(1, 2)
            //形参
function sum(a, b) {
    console.log(a + b);;
}

打开之后控制台会输出3,相当于是a = 1,b=2。多次调用输出互不干涉

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值