<div class="item blue" id="html" draggabl...">
最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 前端基础小白都会的H5拖放效果

    正文概述 掘金(张清悠)   2021-07-30   666

    先上效果图: 前端基础小白都会的H5拖放效果

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


    起源地下载网 » 前端基础小白都会的H5拖放效果

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元