zoukankan      html  css  js  c++  java
  • html5 拖拽元素

    利用html5实现元素的拖拽,让拖动元素在指定的容器中拖动。

    注意点:1、被拖元素要设置拖动属性。draggable="true"

        2、容器元素要设置阻止默认事件处理

    实现效果图如下:

     

    源码:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>test</title>
        <style>
            *{box-sizing:border-box;padding:5px;}
            .container{
                margin-right:5px;
                border:1px solid black;
                border-radius:5px;
                width:200px;
                height:200px;
                float:left;
            }
            .content{
                color:white;
                font-weight:bold;
                background:black;
                width:100px;
                height:100px;
                clear:both;
                box-shadow:5px 5px 8px rgba(0,0,0,.3);
            }
            .content:hover{opacity:0.8;filter:alpha(opcaity=80);cursor:default;}
        </style>        
    </head>        
    <body>        
        <div class="container" ondragover="dragover(event)" ondrop="drop(event)">
            <div class="content" id="dragDiv" draggable="true" ondragstart="dragstart(event)" >drag me to other box</div>
        </div>
        <div class="container" ondragover="dragover(event)" ondrop="drop(event)"></div>
        <div class="container" ondragover="dragover(event)" ondrop="drop(event)"></div>
        
        <script>
            /**开始拖动元素后设置数据类型和值**/
            function dragstart(ele){
                ele.dataTransfer.setData("text",ele.target.id);
            }
            /**拖动到容器元素后阻止其默认处理**/
            function dragover(ele){
                ele.preventDefault();
            }
            /**拖动到容器元素后阻止其默认处理,并获取被拖动元素存储的数据,以便将被拖动元素放到容器**/
            function drop(ele){
                ele.preventDefault();
                var dragDivId=ele.dataTransfer.getData("text");
                ele.target.appendChild(document.getElementById(dragDivId));
            }
        </script>
    
    </body>
    </html>
  • 相关阅读:
    NOIP 转圈游戏
    NOIP 2012 同余方程
    BZOJ3864 Hero meet devil
    HDU3045 Picnic Cows
    「PKUWC2018」随机算法
    CF543E Listening to Music
    CF833E Caramel Clouds
    「PKUWC2018」Slay the Spire
    Luogu2183【国家集训队】礼物
    CF932E Team Work
  • 原文地址:https://www.cnblogs.com/xmqa/p/8779338.html
Copyright © 2011-2022 走看看