繁体   English   中英

使用sessionstorage保存可拖动的不同图像

[英]Save draggable different image with sessionstorage

我尝试在div中拖动图像,并希望将其保存在sessionstorage中,以便将其放置在另一页的同一位置。

1.我不知道如何保存拖动图像,因为有许多不同的图像。 2.我尝试了一些东西但是没有用

<div  ondrop="drop(event)" ondragover="allowDrop(event)">
<img  src="ayfsdxcfgh.png" draggable="true" ondragstart="drag(event)" id="drag1">
        <img src="aysdx.png" id="drag2" draggable="true" ondragstart="drag(event)" >
    </div>
    <h2>items</h2>
    <div class="items" ondrop="drop(event)" ondragover="allowDrop(event)">  
    </div>

    var inventar = {};

function addItem(key, value) {
    inventar[key] = value;
    window.localStorage.setItem("data", JSON.stringify(inventar));
}


function loadInventar() {
    inventar = JSON.parse(window.localStorage.getItem("data"));
    console.log(inventar);
    for (key in inventar) {
        console.log(key + " - " + inventar[key]); 
        document.getElementById(key).appendChild(document.getElementById(inventar[key]));

          var x = document.createElement("IMG");
          x.setAttribute("src", "pic/Icons/' + inventar[key] + '");
          document.getElementById(key).appendChild(x);

        document.getElementById(key).innerHTML = '<img src="pic/Icons/' + inventar[key] + '" onclick="()">';

    }
    return 123;
}

function inventarReset() {
    window.localStorage.clear();
}

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

    console.log(ev);
    console.log(ev.target.id);

    var data = ev.dataTransfer.getData("img");
    addItem(ev.target.id, data);
    console.log(data);
    ev.target.style.border = "0px dashed transparent";
    if (ev.target=="[object HTMLImageElement]"){ //nur ein objekt in jeden kasten
           ev.target = ev.target.parentNode;
        }
    else { 
        ev.target.appendChild(document.getElementById(data));
    }
}

将img id保存在drop()函数中:

function drag(ev) {
    ev.dataTransfer.setData("img", ev.target.id);
}
function drop(ev){
  var data = ev.dataTransfer.getData("img");
 sessionStorage.setItem("imgData", data);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM