getBoundingClientRect返回不正确的结果

时间:2016-03-02 05:10:48

标签: javascript html webkit android-webview

我使用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!");
    }
}

0 个答案:

没有答案