2010-06-11 52 views
2

我正在跟踪使用javascript的用户的鼠标移动并将其与浏览器分辨率一起存储。 然后我可以在我的浏览器中检查1024 x 768分辨率的用户鼠标移动。 但是,如果用户使用的是800 x 600的浏览器,那么鼠标移动记录为800 x 600.而当我在1024 x 768中看到鼠标移动时,鼠标移动是错误的。 那么我怎样才能从800 x 600扩展到1024 x 768?在800 x 600上跟踪鼠标移动并在1024 x 768上显示

回答

7

你基本上乘以宽/高比用户的X/Y坐标:

x *= 1024/800; 
y *= 768/600; 

我建议你也采用了比后两者的坐标应用Math.round()。

编辑:这当然假设更大分辨率的所有东西都会以相同比例调整大小,否则会出现问题。例如,如果您尝试在网页上覆盖鼠标移动,并且该网页具有200px固定宽度的侧栏,无论用户的分辨率是多少,那么当然,当您将x/y坐标与比率,您可能会发现指针甚至不在用户的侧边栏之上。

EDIT2:在网页的情况下,最安全的方法是将记录用户的视口宽度/高度,然后嵌入在容器中与精确大小相同的网页(如的iframe),以便重播动作。这样你可以避免一些问题。

0

您如何调整浏览器以匹配用户的尺寸?