【发布时间】:2018-12-13 15:02:32
【问题描述】:
我正在尝试使用 Javascript 获取元素的位置。我已经使用了clientTop、offsetHeight、window.getComputedStyle(box1).top 以及介于两者之间的一些东西,但是当我控制台日志时我得到的都是 0。该元素几乎放在页面中间,所以它应该是除了 0结果。
HTML:
<body>
<h1>Box placement</h1>
<div id='box1' class='box center green size200'>
</div>
</body>
JS:
let box1 = document.querySelector('#box1');
let browserHeight = window.innerHeight;
let browserWidth = window.innerWidth;
let boxHeight = box1.clientTop;
let boxWidth = box1.offsetLeft;
function printInfo() { //Result
console.log(browserHeight); //1185
console.log(browserWidth); //1266
console.log(boxHeight); //0
console.log(boxWidth); //0
console.log(window.getComputedStyle(box1).top); //auto
console.log(box1.offsetLeft); //0
}
printInfo();
对我可能出错的地方有什么想法吗?这里也是 CSS 的一个小技巧:http://jsfiddle.net/1f23v9nj/1/
【问题讨论】:
标签: javascript object offset