考虑这种情况。用户在窗口内移动鼠标。我有窗口的尺寸和鼠标坐标。例如:
在一个容器内,还有另一个窗口。 我希望能够模拟鼠标移动并将元素(如
let userInput = {
window: {
height: 822,
width: 1440
},
mouse: {
x: 1068,
x_pct: "74.167",
y: 1,
y_pct: "0.111"
}
}
在一个容器内,还有另一个窗口。 我希望能够模拟鼠标移动并将元素(如
)放置在与用户输入类似的位置。
简单地说,如果用户的鼠标在窗口的左上角,则将元素放置在容器的左上角。
我可能想多了,但我觉得必须考虑容器的宽度和高度相对于窗口尺寸的比例才能准确地将元素放置在窗口中。因此,我不能仅根据用户输入的位置来放置对象,例如:
简单地说,如果用户的鼠标在窗口的左上角,则将元素放置在容器的左上角。
我可能想多了,但我觉得必须考虑容器的宽度和高度相对于窗口尺寸的比例才能准确地将元素放置在窗口中。因此,我不能仅根据用户输入的位置来放置对象,例如:
element.style.left = userInput.mouse.x + "px";
element.style.top = userInput.mouse.y + "px";
我觉得我需要设计一个公式或算法来完成这个任务。非常感谢任何的帮助。
e.clientY / mainH * popH
替换为e.clientY / popH * mainH
,并将e.clientX / mainW * popW
替换为e.clientX / popW * mainW
。 - Nogaree.clientY * mainH / popH
和e.clientX* mainW / popW
。 - Quatban Tacoposition: relative
添加到容器中,就会使所有使用position: absolute
的元素具有默认的偏移量。 - Nogare