Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在HTML5中使用JavaScript实现图像数组的拖放?_Javascript_Html_Drag And Drop - Fatal编程技术网

在HTML5中使用JavaScript实现图像数组的拖放?

在HTML5中使用JavaScript实现图像数组的拖放?,javascript,html,drag-and-drop,Javascript,Html,Drag And Drop,我想创建一个可以拖放到容器中的图像列表。 然后我想迭代图像列表并渲染它们。下面的代码仅适用于阵列之外的图像(boxA)。如何实现这种设计,使阵列中的图像能够在容器中拖放(boxB) html,正文{ 左边距:自动; 右边距:自动; 宽度:980px; } #boxA{背景色:#6633FF;宽度:75px;高度:75px;} #箱B{ 浮动:对; 填充:10px; 利润率:10px; } #boxB{背景色:#FF6699;宽度:500px;高度:500px;} #洛洛{ 填充:10px; 宽

我想创建一个可以拖放到容器中的图像列表。 然后我想迭代图像列表并渲染它们。下面的代码仅适用于阵列之外的图像(
boxA
)。如何实现这种设计,使阵列中的图像能够在容器中拖放(
boxB


html,正文{
左边距:自动;
右边距:自动;
宽度:980px;
}
#boxA{背景色:#6633FF;宽度:75px;高度:75px;}
#箱B{
浮动:对;
填充:10px;
利润率:10px;
}
#boxB{背景色:#FF6699;宽度:500px;高度:500px;}
#洛洛{
填充:10px;
宽度:800px;
列表样式:无;
浮动:左;
}
#洛洛乌尔{
显示:内联;
}
#洛洛乌利{
显示:内联;
}
功能dragStart(ev){
ev.dataTransfer.effectAllowed='move';
ev.dataTransfer.setData(“Text”,ev.target.getAttribute(“id”);
ev.dataTransfer.SetDragage(ev.target,0,0);
返回true;
}
功能疏水剂(ev){
event.preventDefault();
返回true;
}
功能牵引器(ev){
返回false;
}
功能拖动(ev){
var src=ev.dataTransfer.getData(“文本”);
ev.target.appendChild(document.getElementById(src));
ev.stopPropagation();
返回false;
}
var myArray=新数组;
myArray[0]=“”
myArray[1]=“”
myArray=ev.dataTransfer.getData(“文本”);
函数lala(){
对于(var i=0;i”+“
  • ”+myArray[i]+”
  • “+””); } } 拉拉();
    为图像提供“id”,并对div'lolo'使用ondragstart处理程序

    myArray[0]='

    myArray[1]='

    …..

    ……

    `

    您看过这个吗?可能会有帮助。。。
    <!DOCTYPE HTML>
        <html>
        <head>
    <style type="text/css">
    html, body {
        margin-left:auto;
        margin-right:auto;
        width:980px;    
    }
    
    #boxA { background-color: #6633FF; width:75px; height:75px;  }
    #boxB{
        float:right;
        padding:10px;
        margin:10px;
    }
    #boxB { background-color: #FF6699; width:500px; height:500px; }
    #lolo {
        padding:10px;
        width:800px;
        list-style:none;
        float:left;
    }
    
    #lolo ul{
        display:inline; 
    }
    #lolo ul li{
        display:inline; 
    }
    </style>
        <script type="text/javascript">
        function dragStart(ev) {
           ev.dataTransfer.effectAllowed='move';
           ev.dataTransfer.setData("Text", ev.target.getAttribute('id'));
           ev.dataTransfer.setDragImage(ev.target,0,0);
           return true;
        }
        function dragEnter(ev) {
           event.preventDefault();
           return true;
        }
        function dragOver(ev) {
            return false;
        }
        function dragDrop(ev) {
           var src = ev.dataTransfer.getData("Text");
           ev.target.appendChild(document.getElementById(src));
           ev.stopPropagation();
           return false;
        }
        <-- this my array -->
        var myArray = new Array;
        myArray[0] = '<img src="image/pic1.png">'
        myArray[1] = '<img src="image/pic2.png">'
        myArray = ev.dataTransfer.getData("text");
        function lala(){
        for (var i=0; i < myArray.length; i++)
        {
             document.write("<ul>" + "<li>" + myArray[i] + "</li>" + "</ul>");
    
        }
        }</script>
        </head>
    
        <body>
        <!-- this the HTML code -->
        <div id="boxA" draggable="true" 
           ondragstart="return dragStart(event)">
        </div>
            <div id="lolo">
        <script>
          lala();
         </script>
         </div>
        <div id="boxB" ondragenter="return dragEnter(event)" ondrop="return dragDrop(event)" 
             ondragover="return dragOver(event)">
         </div>
        </body>
        </html>