javascript - 操作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 引起的。
但是如何解决这场灾难呢?
〜马库斯
解决方案
推荐阅读
- amazon-web-services - 如何通过 Glue 在 AWS Athena 中查询嵌套的 XML 文件
- swift - 如何在 Vapor Swift 中等待多个期货完成?
- speech-recognition - CTC:空格和空白有什么区别?
- arrays - 用于过滤对象数组内的数据的数据库查询
- node.js - Node.js 服务器对 HTTPS 的请求是否足以加密?
- apache-kafka - Kafka Streams Topology 卡在 num.stream.threads=50 和 100 个分区中
- ios - 在 UIViewController 中检测结束拖动
- amazon-web-services - 如何使用 AWS CLI 获取最近启动的 EC2 实例?
- javascript - m3u8 流播放可以依赖于不同的编解码器
- python - Pip 一直返回相同的错误 (Hide_cursor)