Javascript无法正确执行某些图像

时间:2019-08-19 02:49:02

标签: javascript

我在建立个人电子商务网站时要牢记垂直节奏。对我自己来说只是一个挑战。但是图像对我来说太麻烦了。我需要使用javascript(下面的脚本?)设置它们的高度,对于某些图像,它可以正确执行,而对其他图像则不能。未正确执行的图像的高度为0。

我尝试使用window.onload,但仍然无法正常工作。我也正在寻找合适的香草JS插件,但没有一个可供使用。

function adjustImg(element) {
  var images = document.getElementsByTagName(element),
      lineHeight = parseInt(window.getComputedStyle(document.body).getPropertyValue('line-height')),
      newLineHeight = lineHeight / 2;

  for(i = 0; i < images.length; i++) {
    var aspectRatio = images[i].offsetWidth / images[i].offsetHeight,
        originalHeight = images[i].offsetWidth / aspectRatio,
        div = Math.round(originalHeight / newLineHeight),
        newHeight = newLineHeight * div;
    images[i].style.height = newHeight + 'px';
  }
}

我希望所有图像都能正确校正高度。但是就像我说的那样,其中一些由于0高度而没有显示。我的假设是因为图像未完全加载,但是javascript已执行。因此,javascript无法获取offsetWidth和offsetHeight

我不知道如何解决此问题,非常感谢您的帮助。对不起,我的英语。

1 个答案:

答案 0 :(得分:0)

也许尝试img.onload。加载图片时触发此事件。