zoukankan      html  css  js  c++  java
  • 分享html5的一个拖拽手法

      就是这样的效果:拖拽之前

      

        之后:

          

      上代码:

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8" />
            <title> html5 drag and drop</title>
            <style>
                *[draggable=true] {
                    -moz-user-select:none;
                    -khtml-user-drag: element;
                    cursor: move;
                }
                *:-khtml-drag {
                    background-color: rgba(238,238,238, 0.5);
                }
                a {
                    text-decoration: none;
                    color: #000;
                    120px;
                    border: 3px dashed #999;
                    padding: 10px;
                    display:inline-block;
                    transition: all 1s;
                    position:absolute ;
                    top:10px;
                }
    
                .container {
                    position:relative;
                }
                a.move {
                    -webkit-transform:scale3d( 1.1, 1.1, 1.1 );
                }
                a:hover:after {
                    content: ' (drag me)';
                    color: green }
    
            </style>
        </head>
        <body>
            <div class="container">
                <a draggable="true"  id="a1" style='left:0px;'>one</a>
                <a draggable="true"  id="a2" style='left:160px;'>two</a>
                <a draggable="true"  id="a3" style='left:320px;'>three</a>
                <a draggable="true"  id="a4" style='left:480px;'>four</a>
                <a draggable="true"  id="a5" style='left:640px;'>five</a>
            </div>
            <script src="http://code.jquery.com/jquery-2.0.0.js"></script>
            <script>
                var origin, is_moving = false;
    
                $(".container").find("a").on("drop",
                function(e) {
                    var origin_pos = $(origin).position();
                    var target_pos = $(e.target).position();
    
                    $(origin).addClass("move").animate(target_pos, "fast",
                        function() {
                            console.log(this);
                            $(this).removeClass("move");
                        });
                    
                    $(e.target).addClass("move").animate(origin_pos, "fast",
                    function() {
                        $(this).removeClass("move");
                    });
    
                }).on("dragstart",
                function(e) {
                    if (is_moving) {
                        return false;
                    }
                    is_moving = true;
               
                    e.originalEvent.dataTransfer.effectAllowed = 'move';
                    origin = this;
    
                }).on("dragover",
                function(e) {
                    if (e.preventDefault) e.preventDefault(); //
                    is_moving = false;
                    e.originalEvent.dataTransfer.dropEffect = 'move'; //
                });
            </script>
        </body>
    </html>

    每日一句:I always knew looking back on the tears would make me laugh, but I never knew looking back on the laughs would make me cry.

    翻译:我知道再回首时,那些眼泪想来可笑;却不知再回眸时,那些欢声笑语也能叫我潸然泪下。

  • 相关阅读:
    Python unittest单元测试框架总结
    RabbitMQ集群搭建
    mysql之mysqldump——备份与还原
    新版本Ubuntu本地提权漏洞复现
    Flash 零日漏洞复现(CVE-2018-4878)
    申论之道
    上海失业金
    C# GUID有什么用?
    C#通过接口或者父类可以调用子类的方法或者属性吗?
    C# 按逗号分隔字符串&强制类型转换string转double
  • 原文地址:https://www.cnblogs.com/adouwt/p/6512703.html
Copyright © 2011-2022 走看看