javascript - 如何在 JavaScript 中完成一个进程后执行另一个进程

标签 javascript

我想通过Javascript添加图像,然后计算html元素宽度为

window.onload=function(){
document.getElementById('x').addEventListener('click', function(e){
    var el = document.getElementById('xx');
    el.innerHTML = '<img src="img.jpg" />';
    var width = el.offsetWidth;
    .....
   }, false);
}

但是由于 JavaScript 同时执行所有进程,我将在加载图像之前获取元素的宽度。如何确保图像已加载到内容中;然后计算元素宽度?

更新:感谢您的回答,但我认为存在误解。 DOM 文档中不存在 img src="img.jpg"/>。稍后将通过 Javascript 添加。然后,当尝试通过 Id 捕获元素时,它可能不存在。

最佳答案

您可以给 img 一个 ID 并执行以下操作:-

var heavyImage = document.getElementById("my-img");//assuming your img ID is my-img
heavyImage.onload = function(){
    //your code after image is fully loaded
}

关于javascript - 如何在 JavaScript 中完成一个进程后执行另一个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928519/

相关文章:

javascript - 我如何拆分 json['total] 这样我只能得到总价

javascript - 如何从通过 createHTMLDocument 方法创建的文档中提取样式表

javascript - 无法从 firebase 获取数据到我的 html 页面

javascript - 数字和字母混合的正则表达式

javascript - TypeError : $scope. ResetDropzone不是一个函数

javascript - 将 jQuery 模态变量传递给 PHP 脚本

javascript替换索引处的字符问题

javascript - 定位网站中的所有链接 - JavaScript

javascript - 如何跨平台设置环境变量?

javascript - 如何在 Ajax Post 中重定向?