遍历DOM树

时间:2013-04-01 13:29:21

标签: javascript html

我一直致力于拖放框的JavaScript代码,用户基本上可以将图片拖放到投递箱中,当他们拖动特定组合时,它会返回某种消息。例如,如果他们拖入image1,image3和image5,则会返回一条消息。我一直在使用DOM树,但我无法弄清楚如何检查何时拖入多个图像。我可以让它在一个图像如下所示时工作。任何帮助都将一如既往地受到赞赏。

<html>
<head>
    <meta charset ="utf-8">
    <style type="text/css">
        #dragBox {width:400px; height:320px; margin:10px;padding:10px;border:1px solid #aaaaaa;}

        .thumbnails img 
        {
            height: 80px;
            border: 4px solid #555;
            padding: 1px;
            margin: 0 10px 10px 0;
        }

        .thumbnails img:hover 
        {
            border: 4px solid #00ccff;
            cursor:pointer;
        }

    </style>
    <script>
    function allowDrop(ev)
    {
        ev.preventDefault();
    }

    function drag(ev)
    {
        ev.dataTransfer.setData("Text",ev.target.id);
    }

    function drop(ev)
    {
        ev.preventDefault();

        var data = ev.dataTransfer.getData("Text");
        var theNode = document.getElementById(data);
        var nodeCopy = theNode.cloneNode(true);

        ev.target.appendChild(nodeCopy);

        if (data == "drag1")
        {
            foodOne();
        }

        //ev.target.removeChild(nodeCopy);

    }

    function foodOne()
    {
        alert("You choose Food One");
    }

    </script>
</head>
<body bgcolor="#333333">
<div class="gallery" align="center">
    <div class="thumbnails">
        <img id="drag1" src="foodOne.jpg" draggable="true" ondragstart="drag(event)"">
        <img id="drag2" src="foodTwo.jpg" draggable="true" ondragstart="drag(event)" >
        <img id="drag3" src="foodThree.jpg" draggable="true" ondragstart="drag(event)">
        <img id="drag4" src="foodFour.jpg" draggable="true" ondragstart="drag(event)">
        </br></br>
        <div id="dragBox" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
    </div></br>

</div>
</body>

1 个答案:

答案 0 :(得分:0)

甚至不确定存在多滴的东西。但是后来我又没有做太多的拖拽事情,也许用倍数得到一个事件数组?还是有些州说出了类似优秀的掉落操作?

因此,由于我对此知之甚少,对我而言,逻辑解决方案是使用结果数组,在每个drop上按下id,然后使用新函数检查数组是否包含您要查找的组合。