我使用getBoundingClientRect()来确定页面上元素的绝对左偏移量。
页面分为若干列:
-webkit-column-gap: 0px;
-webkit-column-width: 720px;
JS功能是:
function findAnchorOffset(anchorId) {
anchor = document.getElementById("res" + anchorId);
if (anchor != null) {
var rect = anchor.getBoundingClientRect();
console.log("Rect: " + rect.left);
} else {
console.log("Anchor offset not found!");
}
}
这个功能有效,但是rect.left比它应该少两倍。 例如,它返回5902.9146,但实际上左偏移大约是11000.为什么?
UPD 即可。如果我像这样更改JS函数,它将返回正确的偏移量:
function findAnchorOffset(anchorId) {
anchor = document.getElementById("res" + anchorId);
if (anchor != null) {
var rect = anchor.getBoundingClientRect();
console.log("Rect: " + rect.left * 2);
} else {
console.log("Anchor offset not found!");
}
}