我有一个收集点击事件的页面,event.pageX
我event.pageY
想将这些位置按比例映射到另一个页面上的 600 像素 x 750 像素框。这意味着如果框中有其他页面的屏幕截图,则单击位置的标记将在同一位置直观地显示。
我知道我有($('body').width(), $('body').height())
、(document.body.offSetWidth, document.body.offSetHeight)
和(screen.width, screen.height)
,但我不太确定如何最好地将它们结合起来以获得准确的比率。
目前我只是在使用(在 sudo 代码中):
x_ratio = 600 / document.body.offSetWidth
y_ratio = 750 / document.body.offSetHeight
new_x_position = event.pageX * x_ratio
new_y_position = event.pageY * y_ratio
然后框内点击事件的标记是
<div id='click_marker'
style="position: relative; top: new_y_position px; left: new_x_position px;">
</div>
但这似乎无法保持跨浏览器和屏幕尺寸的准确性。我想在一个浏览器和屏幕尺寸中获取点击位置,并能够准确地将其映射到任何浏览器和屏幕尺寸。
我怎样才能始终如一地准确地进行此计算?