xml地图|网站地图|网站标签 [设为首页] [加入收藏]

澳门皇家国际我拖拖拖

来源:http://www.ccidsi.com 作者:集成介绍 人气:57 发布时间:2019-05-08
摘要:不要搞错,本文不是讲怎么样拖地的。看过《javascript精彩》朋友应该精晓,他贯彻拖放的进度比较复杂,今后时期差异了,咱们用H5的新的拖放API就能够 不行方便 的落到实处拖放效果

  不要搞错,本文不是讲怎么样拖地的。看过《javascript精彩》朋友应该精晓,他贯彻拖放的进度比较复杂,今后时期差异了,咱们用H5的新的拖放API就能够不行方便的落到实处拖放效果了。方今在园子见1园友写了一篇《HTML五进阶连串:拖放 API 实现拖放排序》,真乃大师之作,大~熊同学作为一代新手(不是大师),无法与之想比,遂推出基础篇,希望各位园友有所收获。

自个儿拖拖拖--H伍拖放API基础篇,--h伍拖放api基础篇

  不要搞错,本文不是讲哪些拖地的。看过《javascript优秀》朋友应该清楚,他促成拖放的进程比较复杂,未来暂且不相同了,我们用H伍的新的拖放API就能够十分有利于的兑现拖放效果了。最近在园子见一园友写了一篇《HTML5进阶体系:拖放 API 达成拖放排序》,真乃大师之作,大~熊同学作为一代新手(不是权威),不能够与之想比,遂推出基础篇,希望各位园友有所收获。

1、3个回顾的例子--地上有石子捡多少个吗

  

<!DOCTYPE html>
<html>
<head>
    <title>地上有石子,捡几个吧</title>
    <meta charset="utf-8">
    <style type="text/css">
        .lanzi{
            width: 400px;
            height: 200px;
            border:1px solid black;
        }
        .floor{
            width: 500px;
            height: 80px;
            border: 1px solid black;
        }
        .shizi{
            display: inline-block;
            width: 40px;
            height: 40px;
            background: #ccc;
            border-radius: 20px;
            margin-top: 40px;
            text-align: center;
            line-height: 40px;
        }
    </style>
</head>
<body>
    <p>从前有个人走在丛林里,传来一个声音,说地上有石子,捡几个吧,会有用的。那个人不以为然,捡了一个,但是走出从林后发现手中的石子变成了金子...(
这个故事充满了哲学智慧),下面我们要给出一些石子,希望你能把它见到篮子里,没准编程金子哦!!
    </p>
    <h4>我是篮子</h4>    
    <div class="lanzi" id="lanzi"></div>
    <h4>我是地</h4>
    <div class="floor" id="floor">
        石子
        石子
        石子
        石子
        石子
        石子
        石子
        石子
        石子
        石子
    </div>
    <script type="text/javascript">
        window.addEventListener("load",handler,false);
        function handler(){
            var floor = document.getElementById("floor");
            var lanzi = document.getElementById("lanzi");
            var shizi;
            floor.addEventListener("dragstart",function(e){
                if(e.target.className == "shizi"){
                    shizi = e.target;
                    var dt = e.dataTransfer;
                    dt.effectedAllowed = "all";
                }
            },false);

            lanzi.addEventListener("dragend",function(e){e.preventDefault()},false);
            lanzi.addEventListener("drop",function(e){
                var data = e.dataTransfer.getData("text/plain");
                lanzi.appendChild(shizi);
                e.preventDefault();
                e.stopPropagation();
            },false);

            document.ondragover = function(e){e.preventDefault();}
            document.ondrop = function(e){e.preventDefault();}
        }
    </script>
</body>
</html>

  (gif演示是用的edge,笔者的ubuntu做gif太难为了,借了个windows)

  澳门皇家国际 1

  这里用一个简便的事例演示了怎么样实现拖放,那么难题来了,从下面的示范中你能够猜出一些特性和措施的用法了,那么些方法的效果到底是哪些的?那么些个天性又是啥意思呢?上边一一到来。

1、2个简短的例证--地上有石子捡多少个呢

  

<!DOCTYPE html>
<html>
<head>
    <title>地上有石子,捡几个吧</title>
    <meta charset="utf-8">
    <style type="text/css">
        .lanzi{
            width: 400px;
            height: 200px;
            border:1px solid black;
        }
        .floor{
            width: 500px;
            height: 80px;
            border: 1px solid black;
        }
        .shizi{
            display: inline-block;
            width: 40px;
            height: 40px;
            background: #ccc;
            border-radius: 20px;
            margin-top: 40px;
            text-align: center;
            line-height: 40px;
        }
    </style>
</head>
<body>
    <p>从前有个人走在丛林里,传来一个声音,说地上有石子,捡几个吧,会有用的。那个人不以为然,捡了一个,但是走出从林后发现手中的石子变成了金子...(
这个故事充满了哲学智慧),下面我们要给出一些石子,希望你能把它见到篮子里,没准编程金子哦!!
    </p>
    <h4>我是篮子</h4>    
    <div class="lanzi" id="lanzi"></div>
    <h4>我是地</h4>
    <div class="floor" id="floor">
        石子
        石子
        石子
        石子
        石子
        石子
        石子
        石子
        石子
        石子
    </div>
    <script type="text/javascript">
        window.addEventListener("load",handler,false);
        function handler(){
            var floor = document.getElementById("floor");
            var lanzi = document.getElementById("lanzi");
            var shizi;
            floor.addEventListener("dragstart",function(e){
                if(e.target.className == "shizi"){
                    shizi = e.target;
                    var dt = e.dataTransfer;
                    dt.effectedAllowed = "all";
                }
            },false);

            lanzi.addEventListener("dragend",function(e){e.preventDefault()},false);
            lanzi.addEventListener("drop",function(e){
                var data = e.dataTransfer.getData("text/plain");
                lanzi.appendChild(shizi);
                e.preventDefault();
                e.stopPropagation();
            },false);

            document.ondragover = function(e){e.preventDefault();}
            document.ondrop = function(e){e.preventDefault();}
        }
    </script>
</body>
</html>

  (gif演示是用的edge,我的ubuntu做gif太辛劳了,借了个windows)

  澳门皇家国际 2

  这里用一个简约的例证演示了何等兑现拖放,那么难点来了,从上边的示范中你能够猜出一些个性和办法的用法了,那1个方法的功能到底是什么的?那么些个天性又是啥意思呢?下边11到来。

贰、完毕拖放的貌似步骤

  1、找到三个可拖的成分

  正如不是全部人都叫大熊同样,并不是富有的要素都以足以被拖的。img和a成分私下认可同拖,别的因素暗中认可不可拖,当时能够加七个draggable=true让它可拖。

  

<div draggable='true'></div>

  二、管理拖放有关事件

  全体相关事件如下:(那些摘自:)

  源对象:

  • 澳门皇家国际 ,dragstart:源对象开首拖放。
  • drag:源对象拖放进度中。
  • dragend:源对象拖放截止。

  进程对象:

  • dragenter:源对象早先进入进度对象范围内。
  • dragover:源对象在经过对象范围内运动。
  • dragleave:源对象离开进程对象的范围。

  目的对象:

  • drop:源对象被拖放到对象对象内。

  大家得以用叁个测试来看看这一个事件的触发时机和事件指标为何物。

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>testEvents</title>
    <style type="text/css">
        .source{
            width: 50px;
            height: 50px;
            border: 1px solid red;
        }
        .process{
            width: 100px;
            height: 100px;
            border: 1px solid black;
            margin-top: 10px;
        }
        .dest{
            width: 100px;
            height: 100px;
            border: 1px solid green;
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <div class="source" id="source" draggable="true"></div>
    <div class="process" id="process"></div>
    <div class="dest" id="dest"></div>
    <script type="text/javascript">
    window.onload=function(){
        var source = document.getElementById("source");
        var process = document.getElementById("process");
        var dest = document.getElementById("dest");
        var sourceEle;

        source.addEventListener("dragstart",function(e){
            console.log("source dragstart");
            console.log(e);
            sourceEle = e.target;
            var dt = e.dataTransfer;
            dt.effectedAllowed = "all";
        },false);

        process.addEventListener("dragenter",function(e){
            console.log("process dragenter");
            console.log(e);
        },false);

        process.addEventListener("dragover",function(e){
            console.log("process dragover");
            console.log(e);
        },false);

        process.addEventListener("dragleave",function(e){
            console.log("process dragleave");
            console.log(e);
        },false);

        source.addEventListener("drag",function(e){
            console.log("source drag");
            console.log(e);
        },false);

        dest.addEventListener("dragend",function(e){
            console.log("dest dragend");
            console.log(e);
            e.preventDefault();
        },false);

        dest.addEventListener("drop",function(e){
            console.log("dest drop");
            console.log(e);
            dest.appendChild(sourceEle);
            e.preventDefault();
            e.stopPropagation();
        },false);

        document.ondragover = function(e){e.preventDefault();}
        document.ondrop = function(e){e.preventDefault();}
    }
    </script>
</body>
</html>

  这些例子将拖放过进度涉及的事件做了一个陈列,这里不再细讲,你能够查看调控台看看事件的触发顺序和事件目的。

二、达成拖放的形似步骤

  1、找到贰个可拖的要素

  正如不是全体人都叫大熊同样,并不是享有的成分都以足以被拖的。img和a成分默承认拖,其余因素暗中同意不可拖,当时得以加贰个draggable=true让它可拖。

  

<div draggable='true'></div>

  2、管理拖放有关事件

  全体相关事件如下:(那些摘自:)

  源对象:

  • dragstart:源对象开始拖放。
  • drag:源对象拖放进度中。
  • dragend:源对象拖放截至。

  进程对象:

  • dragenter:源对象发轫进入进度对象限定内。
  • dragover:源对象在进程对象限定内移动。
  • dragleave:源对象离开进程对象的限制。

  目的对象:

  • drop:源对象被拖放到目的对象内。

  我们能够用八个测试来看看那些事件的触发时机和事件指标为什么物。

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>testEvents</title>
    <style type="text/css">
        .source{
            width: 50px;
            height: 50px;
            border: 1px solid red;
        }
        .process{
            width: 100px;
            height: 100px;
            border: 1px solid black;
            margin-top: 10px;
        }
        .dest{
            width: 100px;
            height: 100px;
            border: 1px solid green;
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <div class="source" id="source" draggable="true"></div>
    <div class="process" id="process"></div>
    <div class="dest" id="dest"></div>
    <script type="text/javascript">
    window.onload=function(){
        var source = document.getElementById("source");
        var process = document.getElementById("process");
        var dest = document.getElementById("dest");
        var sourceEle;

        source.addEventListener("dragstart",function(e){
            console.log("source dragstart");
            console.log(e);
            sourceEle = e.target;
            var dt = e.dataTransfer;
            dt.effectedAllowed = "all";
        },false);

        process.addEventListener("dragenter",function(e){
            console.log("process dragenter");
            console.log(e);
        },false);

        process.addEventListener("dragover",function(e){
            console.log("process dragover");
            console.log(e);
        },false);

        process.addEventListener("dragleave",function(e){
            console.log("process dragleave");
            console.log(e);
        },false);

        source.addEventListener("drag",function(e){
            console.log("source drag");
            console.log(e);
        },false);

        dest.addEventListener("dragend",function(e){
            console.log("dest dragend");
            console.log(e);
            e.preventDefault();
        },false);

        dest.addEventListener("drop",function(e){
            console.log("dest drop");
            console.log(e);
            dest.appendChild(sourceEle);
            e.preventDefault();
            e.stopPropagation();
        },false);

        document.ondragover = function(e){e.preventDefault();}
        document.ondrop = function(e){e.preventDefault();}
    }
    </script>
</body>
</html>

  这么些例子将拖放过进程涉及的轩然大波做了1个陈列,这里不再细讲,你能够查阅调控台看看事件的触及顺序和事件目的。

本文由68399皇家赌场发布于集成介绍,转载请注明出处:澳门皇家国际我拖拖拖

关键词: 68399皇家赌场

上一篇:数据源修改

下一篇:没有了

频道精选

最火资讯