页面加载时图像大小不正确-太小

时间:2019-04-04 05:05:43

标签: javascript html

我在一个页面上有多张图片,并且有以下代码:

//main image
<img src="/my_image.png" id="main_img" />

//other images
<img .... onclick="setMainImg(this)" />



<button onclick="getSize()">get size</button>



//js, at the bottom
var mainImg = document.getElementById("main_img");

function getSize() {
  console.log(mainImg.width + "x" + mainImg.height + "\r\n");
}

页面加载后,它会显示类似33x16的内容

点击其他图片后

  //js
  function setMainImg(img) {
    mainImg.src = img.src;
  }

它开始在控制台中打印相应的值:

448x354

和类似的东西。即使单击同一张第一张图片(!),它也会打印出不同的尺寸,尺寸是原来的10倍。

为什么?该如何解决?

1 个答案:

答案 0 :(得分:0)

图像加载后必须获得尺寸,因此单击时应设置图像变量。

var mainImg;

function getSize() {
  mainImg = document.getElementById("main_img");
  console.log(mainImg.width + "x" + mainImg.height + "\r\n");
}