获取元素的offsetHeight

时间:2017-10-28 13:26:43

标签: javascript vue.js

我有一个vue.js组件,它有一个带有图像和不同块的大型html模板。

<div>
   ...
</div>
...
<div class="image-block">
   <img src="..." alt="" width="..." height="...">
</div>
...

如何获得图像块的offsetHeight?

3 个答案:

答案 0 :(得分:1)

对你来说更清楚:

mounted() { 

  let imageBlock = document.getElementsByClassName('information-block__img'); 
  // => A DOMElement set

  // If you want a jQuery set :

  let imageBlockJQ = $('.information-block__img') ;

  for (let element in imageBlock) { 

    let image = imageBlock[element]; 
    // So a DOMElement

    let imageHeight = image.offset();  // => FAIL

    // A DOMElement does'nt know the `offset` method. A jQuery set does
    // so:
    let imageHeight = $(image).offset();

    // Or

    let imageHeight = image.offsetTop ; // => RIGHT, a property

}

答案 1 :(得分:0)

只需使用element.offset()电话。

答案 2 :(得分:0)

我找到了一个适用于我的解决方案,但只有在我调整页面大小时才有效:

mounted() {
      let infoBlock = document.getElementsByClassName('information-block');
      for (let element in infoBlock) {
          $(window).resize(function() {
              $('.information-block__container').height($('.information-block__img').height());
          });
      }
}