扫码关注官方订阅号
现在有如下结构
a的高度比b小,且a可以滚动。超出a的部分不显示。
a与html之间有若干节点,且样式不固定
当我在b元素内点击时,我要如何获取这个点击的位置,相对于b左上角的坐标
认证高级PHP讲师
function getElementPosition(e) { var box = e.getBoundingClientRect(); var offsets = getScrollOffsets(); return { x: box.left + offsets.x, y: box.top + offsets.y } } function getScrollOffsets(w) { w = w || window; //除了ie8及更早版本,其他浏览器都可以使用 if (w.pageXOffset != null) { return { x: w.pageXOffset, y: w.pageYOffset } } //对于标准模式向的IE(或任何浏览器) var d = w.document; if (document.compatMode == 'CSS1Compat') { return { x: d.documentElement.scrollLeft, y: d.documentElement.scrollTop }; } //对怪异模式下的浏览器 return { x: d.body.scrollLeft, y: d.body.scrollTop }; }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
认证高级PHP讲师