0

我正在尝试使用 jQuery 创建一个与众不同的游戏。基本上,几个图像堆叠在一起,绝对定位在一个容器中。容器上方是带有徽标和菜单的页眉,它在图像容器上方总共大约 120 像素。

当有人单击图像内的某个区域时,我会在其中放置一个新的 div,带有正确的 (V) 标记或错误的 (红色 X)。

我正在尝试使用以下代码获取元素内点击的位置(为了清楚起见,在点击事件中返回了以下使用的事件变量 e):

var parentOffset = $(this).parent().offset();  
var topOffset = e.clientY - offset.top;

我的问题是,当我将页面向下滚动到页脚区域时,顶部的偏移量会发生变化,然后我没有将新的标记 div 定位在正确的高度。

当我滚动到页面顶部时,标记位置正确。

我以前创建过这样的游戏,但不明白为什么突然计算错误:\ 似乎我得到的距离减去滚动高度,但不确定。

谢谢你的洞察力,Yanipan

4

1 回答 1

1

我玩了一下 Firebug,它看起来e.originalEvent.layerY正是你想要的。

无论屏幕滚动到哪里,它总是显示您在被点击对象中点击的绝对坐标。

于 2013-09-05T06:24:37.513 回答