每当点击一个标识为toolpopup
的范围(div应该出现在这些坐标处)时,我会尝试弹出一个div,并且它适用于位于页面顶部的跨距。但是当我向下滚动并单击跨度时,div被创建但不是在所需的坐标处。什么可能是错的?我在Firefox 7.0.1
$("#toolpopup").live("click", function(event) {
var X = event.clientX;
var Y = event.clientY;
$("#popup").css('position', 'absolute');
$("#popup").css("top", Y);
$("#popup").css("left", X);
$("#popup").css("display","block");
});
答案 0 :(得分:4)
我不确定是否正确理解了您的任务,但您可能需要在X
和Y
附加文档滚动偏移,因为:
MDN https://developer.mozilla.org/en/DOM/event.clientX: 的 event.clientX 强>
返回应用程序的客户区中的水平坐标 事件发生的时间
在我的代码中,我得到滚动偏移量:
var xOffset=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);
var yOffset=Math.max(document.documentElement.scrollTop,document.body.scrollTop);
然后,您可以将X
和Y
设置为:
$("#toolpopup").live("click", function(ev) {
var X = ev.clientX+xOffset;
var Y = ev.clientY+yOffset;