首先计算js距离浏览器窗口的坐标:
let X = $('#test').offset().left + window.screenLeft;
let Y = $('#test').offset().top;
再计算浏览器距离屏幕的宽和高,通过window.screenLeft和window.screenTop获取浏览器距离屏幕的偏移量;
两者相加就可以得到距离屏幕的坐标:
let X = $('#test').offset().left + window.screenLeft;
let Y = $('#test').offset().top + window.screenTop;
Y轴部分还缺少浏览器工具栏的高度,
window.outerHeight:浏览器高度
window.innerHeight:浏览器可用高度
工具栏高度=window.outerHeight-window.innerHeight。
最终坐标为:
let X = $('#test').offset().left + window.screenLeft;
let Y = $('#test').offset().top + window.screenTop + window.outerHeight - window.innerHeight;
下面这张图是比较直观的了解。