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,
});
}
}
我有这张 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,
});
}
}