Window 中元素的定位

Positioning of elements From The Window


我有这张 javascript ->
    const items = [...document.getElementsByClassName("todo")].map(
    (li) => li.innerText
  );
  const items2 = JSON.parse(localStorage.getItem("position"));
  let results = [];
  let mapped = items2.map((items) => items.name);
  items.forEach((item) => {
    let index = mapped.indexOf(item);
    if (index > -1) {
      results.push(items2[index]);
    }
  });
  let matcheditems3 = results;
  const fakeImages = document.querySelectorAll(".todo");
  for (let i = 0; i < matcheditems3.length; i++) {
    if (matcheditems3[i].name === fakeImages[i].innerText) {
      const name = matcheditems3[i].name;
      fakeImages[i].style.position = "relative";
      fakeImages[i].style.left = matcheditems3[i].positionInfoX + "px";
      fakeImages[i].style.top = matcheditems3[i].positionInfoY + "px";
      fakeImages[i].style.bottom =
        Number(matcheditems3[i].positionInfoY) +
        Number(matcheditems3[i].positionInfoHieght) +
        "px";
      fakeImages[i].style.right =
        Number(matcheditems3[i].positionInfoX) +
        Number(matcheditems3[i].positionInfoWidth) +
        "px";
      fakeImages[i].style.minWidth = "300px";
    }
  }

这根据数组中的项目定位 div(s) 效果很好!

但是正如您所见,元素的位置设置为 'relative'。 因此它向左侧、右侧、顶部和底部添加来自其 当前位置

的任何值

我可以实现类似的东西吗 -> 它添加了 window 本身的 px !!

有什么想法吗? 谢谢!!!

没问题!!
我找到了解决方案!您可以使用 JQuery

for (let i = 0; i < matcheditems3.length; i++) {
if (matcheditems3[i].name === fakeImages[i].innerText) {
  const name = matcheditems3[i].name;
  $(fakeImages[i]).offset({
    top: matcheditems3[i].positionInfoY,
    left: matcheditems3[i].positionInfoX,
  });
}  


}