如何在本地存储中保存图像位置

斯普林格·杰里

我有一个问题,当前我正在尝试将图像位置保存在本地存储中,但是我不知道该怎么做。我希望将其保存在本地存储中,因为一旦刷新页面,我仍然希望您拖动的图像与在刷新/重新加载页面之前将图像拖动到的位置相同。脚本就像带有图像的物品清单。

这是代码:

const fill1 = document.querySelector('#item1');
const empties1 = document.querySelectorAll('#block1');
const empties2 = document.querySelectorAll('#block2');

const spot1 = document.getElementById("block1")
const spot2 = document.getElementById("block2")

checkSpot1()
checkSpot2()


localStorage.spot1 = 1
localStorage.spot2 = 0

// Fill listeners
fill1.addEventListener('dragstart', dragStart);
fill1.addEventListener('dragend', dragEnd);

// Loop through empty boxes and add listeners
for (const empty of empties1) {
  empty.addEventListener('dragover', dragOver);
  empty.addEventListener('dragenter', dragEnter);
  empty.addEventListener('dragleave', dragLeave);
  empty.addEventListener('drop', dragDrop);
}

for (const empty of empties2) {
    empty.addEventListener('dragover', dragOver);
    empty.addEventListener('dragenter', dragEnter);
    empty.addEventListener('dragleave', dragLeave);
    empty.addEventListener('drop', dragDrop);
  }

// Drag Functions
function dragStart() {
  this.idName += ' hold';
  setTimeout(() => (this.idName = 'invisible'), 0);
}

function dragEnd() {
  this.idName = 'fill1';
}

function dragOver(e) {
  e.preventDefault();
}

function dragEnter(e) {
  e.preventDefault();
  this.idName += ' hovered';
}

function dragLeave() {
  this.idName = 'empties1';
  this.idName = 'empties2';
}

function dragDrop() {
    this.idName = 'empties1';
    this.idName = 'empties2';
    this.append(fill1);;
}

function checkSpot1() {
if (localStorage.getItem("spot1") == 1) {
   
}
}

function checkSpot2() {
if (localStorage.getItem("spot2") == 1) {
  
}
}

spot1.addEventListener('dragend', setspot1)
spot2.addEventListener('dragend', setspot2)

function setspot1(){
localStorage.spot1 = 1
localStorage.spot2 = 0
}

function setspot2(){
localStorage.spot1 = 0
localStorage.spot2 = 1
}

但是就像我说的那样,我不知道如何将其正确存储在localstorage中,并使其在重新加载页面之前将图像拖到其中时显示出来。

丹尼尔·雷施(Daniel Resch)

我将这样实现:(这样您可以获取被拖动元素的x和y坐标):


// this is for storing --> 
function dragOver(e) {
  e.preventDefault();

  // Get the x and y coordinates 
  var x = e.clientX; 
  var y = e.clientY; 

  // store the value in localStorage
  window.localStorage.setItem('x',x); 
  window.localStorage.setItem('y',y); 

}


// => same as JQuerys document.ready(); 
document.addEventListener("DOMContentLoaded", function(event) { 

    // read the data from localstorage 
    var x = window.localStorage.getItem('x'); 
    var y = window.localStorage.getItem('y'); 

    // Now you have to set the element position to the stored values
    // I am assuming you want to set it for block1, and that block1 has absolute 
    // positioning 

    // only set the position if there is already a value stored
    if( x && y )
    {

       // I found a pure Javascript solution now
       document.getElementById("block1").style.left = x+"px";
       document.getElementById("block1").style.top = y+"px";

    }

});


本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在本地存储中保存图像位置

来自分类Dev

如何在设置中保存图像位置

来自分类Dev

如何在本地存储中保存可编辑的div内容。

来自分类Dev

如何在本地存储中保存点击事件

来自分类Dev

opencv-如何在文件存储中保存Mat图像

来自分类Dev

如何在本地存储中保存和还原文件对象

来自分类Dev

如何在本地存储中从文本框和下拉列表中保存值?

来自分类Dev

如何在R中保存绘图图像?

来自分类Dev

如何在Android Gallery中保存图像

来自分类Dev

如何在Java枚举中保存图像?

来自分类Dev

如何在表格中保存Uploadcare图像?

来自分类Dev

如何在WPF中保存图像源?

来自分类Dev

如何在Android Gallery中保存图像

来自分类Dev

如何在Pim中保存图像?

来自分类Dev

如何使用angularjs在本地存储中保存json响应?

来自分类Dev

在Azure存储中保存图像

来自分类Dev

如何在DBFS中保存和下载本地csv?

来自分类Dev

从本地存储中保存和检索日期

来自分类Dev

如何在数据库中保存用户的位置

来自分类Dev

如何在Android中保存拖动的ImageView的位置?

来自分类Dev

如何在Android中保存RecyclerView的滚动位置?

来自分类Dev

如何在recyclerview中保存复选框位置?

来自分类Dev

如何在JavaScript中保存动画后的对象位置?

来自分类Dev

如何在RichEdit中保存然后恢复垂直滚动位置

来自分类Dev

如何在persistentcontainer中保存新的索引位置?

来自分类Dev

如何在数据库中保存用户的位置

来自分类Dev

如何在bash脚本中保存/ dev / stdout目标位置?

来自分类Dev

如何在Android中保存拖动的ImageView的位置?

来自分类Dev

如何在recyclerview中保存复选框位置?

Related 相关文章

热门标签

归档