我有一个关于 jQuery offset() 函数的问题。我在我的网站上使用它在点击电子邮件图标后显示“给 friend 发电子邮件”窗口。
但是,窗口似乎粘在浏览器窗口的右侧,而不是图标的位置。您可以在 http://pec.solarismedia.net/calendarday.html 上看到它的实际效果
$(".emailFriend").hide(); $(".emailIcon").on("click", function(e) { $(".emailFriend").css({ "position": "absolute", "left": $(this).offset().left, "top": $(this).offset().top }).fadeIn(500); return false; });
有一张图显示了意图和现实之间的差异。
最佳答案
这是因为#container
有position: relative;
。因此,邮箱的绝对设置是相对于#container 的。您必须删除该属性或使用以下内容计算 left
的值:
$(this).offset().left - $('#container').offset().left
关于javascript - jQuery Offset().left 不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13449182/