前端基础小白都会的H5拖放效果

简介: 1.当鼠标拖动元素时,触发 ondragstart() 事件,获取要拖动元素的ID;

先上效果图:
在这里插入图片描述

HTML代码:

  <!-- 前端主元素 -->
    <div class="list">
        <div class="item blue" id="html" draggable="true" ondragstart="start(event)">HTML</div>
        <div class="item pink" id="css" draggable="true" ondragstart="start(event)">CSS</div>
        <div class="item green" id="js" draggable="true" ondragstart="start(event)">JavaScript</div>
        <div class="item gray" id="jq" draggable="true" ondragstart="start(event)">JQuery</div>
    </div>

    <!-- 要放置的区域 -->
    <div id="web" ondrop="drop(event)" ondragover="toOver(event)">
        <div style="font-weight: bold;"> </div>
    </div>
    //为了使元素可拖动,把 draggable 属性设置为 true

CSS代码:

  .list {
   
   
            display: flex;
        }

        .item {
   
   
            width: 100px;
            height: 40px;
            margin: 10px;
            color: #fff;
            text-align: center;
            line-height: 40px;
            border-radius: 25px;
        }

        .blue {
   
   
            background-color: #E74C26;
        }

        .pink {
   
   
            background-color: #F3D484;
        }

        .green {
   
   
            background-color: #2E6BAA;
        }

        .gray {
   
   
            background-color: gray;
        }

        #web {
   
   
            width: 150px;
            height: 220px;
            border: 1px solid gray;
            position: absolute;
            top: 150px;
            left: 100px;
            box-sizing: border-box;
            padding: 10px;
        }

JavaScript代码:

  //开始拖拽
        function start(ev) {
   
   
            id = ev.target.id; //获取拖拽元素的ID
        }

        //要放置的区域
        function toOver(ev) {
   
   
            ev.preventDefault(); //阻止默认事件
        }

        //放置元素的方法
        function drop(ev) {
   
   
            var app = document.getElementById(id); // 获取拖动的元素对象
            var div = document.getElementById(ev.target.id); // 放置区域的元素对象
            div.appendChild(app); // 把拖拽对象追加到放置区域中
        }

JavaScript代码解析:

1.当鼠标拖动元素时,触发 ondragstart() 事件,获取要拖动元素的ID;

2.当鼠标拖拽着元素放置到指定区域时,触发 ondropover() 事件,在这里要阻止默认事件的触发;

3.当鼠标拖拽元素到指定区域,并松开鼠标时,触发 ondrop() 事件,获取拖拽元素的对象,追加到放置区域的节点内部;

目录
相关文章
|
1月前
|
移动开发 前端开发 Android开发
mPaaS 常见问题之移动开发平台 mpaas的H5 前端 Kylin 框架引入vant后包特别大如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
43 0
|
9月前
|
移动开发 前端开发
前端(十八):移动端H5调用摄像头拍照旋转解决方案
移动端H5调用摄像头拍照旋转解决方案
214 0
|
移动开发 前端开发 iOS开发
记录一下前端H5的复制功能在ios端的兼容性问题
记录一下前端H5的复制功能在ios端的兼容性问题
708 0
|
3月前
|
移动开发 前端开发 Windows
前端H5怎么简单的实现复制text内容的操作
前端H5怎么简单的实现复制text内容的操作
29 0
前端H5怎么简单的实现复制text内容的操作
|
8月前
|
移动开发 人工智能 文字识别
uniapp 前端实现文字识别,身份证识别,营业执照识别 (兼容APP、H5、小程序 不需要任何SDK)
本文将介绍如何使用uniapp和百度AI开放平台的OCR(光学字符识别)API实现身份证、营业执照等卡证的识别和文字识别功能。以上就是uniapp使用百度AI平台OCR API实现卡证识别和文字识别的整体实现过程全部内容了,有不懂的,或者我代码有误的地方,希望大家多多交流。具体详细代码示例可以私信问我要哈!
415 0
|
8月前
|
移动开发 前端开发 HTML5
从头学前端-H5和CSS3提升
从头学前端-H5和CSS3提升
|
9月前
|
移动开发 前端开发
|
9月前
|
移动开发 前端开发
|
10月前
|
存储 移动开发 前端开发
别踩白块_前端H5游戏毕设(下)
别踩白块_前端H5游戏毕设
214 0
|
10月前
|
存储 移动开发 前端开发
别踩白块_前端H5游戏毕设
别踩白块_前端H5游戏毕设
162 0