インスペクターの JS コンソールで、Safari や Chrome などからこれを試してください。
var x = document.body.getBoundingClientRect();
> undefined
x.top;
> 0
x.top += 5;
> 5
x.top;
> 0
getBoundingClientRect()
によって生成されたオブジェクトは、変更可能なオブジェクトであると予想していました。私はこれが誤りであることを示しました。ブラウザの状態との同期も維持されないため、ページを少しスクロールして の値を確認すると、下にスクロールしたため負の値になっているはずですがx.top
、それでも報告されます。0
少なくとも、別の呼び出しで x を再割り当てするとgetBoundingClientRect()
、負の値が報告されます。
そのため、それを変更しようとしても反応しませんが、その動作を示すことには、より高い目的があるようには見えません。
たぶん、これを説明するためのある種のきれいな方法がありますか?*肩をすくめる*よりも良いことです。