让你的网页动起来 - 轻松实现 JavaScript 拖拽功能

效果展示

动画.gif

实现

要实现该效果需要运用 HTML5 的 dragstart 拖放操作事件

通过去开启dragstart监听拖放操作事件就能实现图片的拖动

<div class="empty">
      <div class="fill" draggable="true"></div>
</div>

本例子中我们对fill盒子开启了draggable事件,fill盒子是用来存照片的

但是这样并不能形成一个反馈,只有单纯的拖动效果,效果如下图所示

动画.gif

如果想要实现在拖动了图片后有一个反馈效果,我们就需要使用JavaScript去监听draggable的开始拖动和结束拖动事件

.hold {
        border: 5px solid #00ff00;
      }
const fill = document.querySelector(".fill");
      // 拖拽开始事件
      fill.addEventListener("dragstart", DragStart);
      function DragStart(e) {
   
        this.classList.add("hold");
      }
      // 拖拽结束事件
      fill.addEventListener("dragend", DragEnd);
      function DragEnd(e) {
   
        this.classList.remove("hold");
      }

通过在拖动时给他添加边框,结束时取消以实现一个反馈的效果

动画.gif

最后去监听empty盒子的即可根据不同事件触发时,实现不同的效果

const empty = document.querySelectorAll(".empty");
      empty.forEach((item) => {
   
        // 经过事件
        item.addEventListener("dragover", DragOver);
        // 进入事件
        item.addEventListener("dragenter", DragEnter);
        // 离开事件
        item.addEventListener("dragleave"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值