首页 > 解决方案 > 操作DOM后获取offsetHeight

问题描述

我写了以下代码:

var image_pinch_help = document.getElementById("image_pinch_help");
var pinch_img_el = document.getElementById("pinch_img_el");

function openImage(img_url) {
  pinch_img_el.src = img_url;
  if (pinch_img_el.complete) {
    IMGloaded();
  }
  else {
    pinch_img_el.addEventListener('load', IMGloaded())
    pinch_img_el.addEventListener('error', function() {
        alert('error')
    });
  }

  image_pinch_help.style.display = "block";
  document.getElementById("pinch_values").setAttribute("content", "");
}

function IMGloaded() {
  var screen_height = window.screen.height;
  console.log("HERE IS THE HEIGHT: " + screen_height);
  var img_height = pinch_img_el.offsetHeight;
  console.log("HERE IS THE IMAGE: " + img_height);
}  

代码从函数开始openImage()。调用此函数以在我的网页上打开图像。所以图像获得了屏幕的全宽。显示图像的屏幕是image_pinch_help。你看我让这个屏幕可见。为了让用户放大图像,我正在操作 HTML DOM,用户可以在整个页面上滚动。我在这里这样做:document.getElementById("pinch_values").setAttribute("content", "");
加载图像时,我需要获取屏幕的高度,这非常有效。但我还需要获取加载图像的高度。问题是它总是返回一个空字符串。我很久以前读到这可能是由 HTML DOM Manipulations 引起的。
但是如何解决这场灾难呢?
〜马库斯

标签: javascripthtmldomsimple-html-dom

解决方案


推荐阅读