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() 事件,获取拖拽元素的对象,追加到放置区域的节点内部;

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月17日

热门专题

易捷尔单招|易捷尔单招,易捷尔单招培训,易捷尔单招报名,易捷尔单招考试,易捷尔单招培训学校,易捷尔单招分数
易捷尔单招
安徽中源管业有限公司|安徽中源管业有限公司,安徽中源管业有限公司介绍,安徽中源管业有限公司电话,安徽中源管业有限公司地址,安徽中源管业有限公司厂家,安徽中源管业有限公司电力管,安徽中源管业有限公司管材
安徽中源管业有限公司
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专
安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)
昆明网站建设|昆明网站建设,昆明网站开发,昆明网站建设公司,昆明网站建设价格,昆明网站设计,昆明网站制作,网页设计,高端网站建设,高端网站设计
昆明网站建设

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部