Fil*_*nes 11 javascript jquery offset
我有一个关于jQuery offset()函数的问题.我在我的网站上使用它,在点击电子邮件图标后显示"发送电子邮件给朋友"窗口.
但是,窗口显示在浏览器窗口的右侧,而不是图标的位置.你可以在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;
});
有一张图片显示了意图和现实之间的区别.

Mic*_*zyn 16
这是因为#container有position: relative;.因此,电子邮箱的绝对设置与#container相关.您必须删除属性或使用以下内容计算值left:
$(this).offset().left - $('#container').offset().left
Run Code Online (Sandbox Code Playgroud)