javascript - 在加载 Javascript 之前确定 img 的高度

标签 javascript html image blogger

我正在尝试修改一个广泛使用的 Javascript 函数,以便与 Blogger 网站一起使用。该函数的目的是为主页上的每个帖子创建缩略图和简短的简介。我正在尝试修改该函数,以便它确定图片是纵向还是横向,并相应地调整其大小(例如,横向应为 175 像素宽,纵向应为 175 像素高)。但是,每当我尝试引用图像的高度/宽度时,它们都会出现 0 或 null。我认为问题在于图像尚未加载或写入页面。

如何修改下面的代码来解决这个问题?

<script type='text/javascript'>
    summary_noimg = 550;
    summary_img = 450;
    img_thumb_height = 175;
    img_thumb_width = 175; 
</script>

<script type='text/javascript'>
//<![CDATA[
function createSummaryAndThumb(pID,pLink){
    var div = document.getElementById(pID);
    var imgtag = "";
    var img = div.getElementsByTagName("img");
    var img_w = img[0].clientWidth;
    var img_h = img[0].clientHeight;
    var summ = summary_noimg;
    if(img.length>=1) {
      if (img_w > img_h) {
        imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><a href="'+pLink+'"><img src="'+img[0].src+'" height="'+img_thumb_height+'px"/></a></span>';
      }
      else if (img_w <= img_h) {
        imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><a href="'+pLink+'"><img src="'+img[0].src+'" width="'+img_thumb_width+'px"/></a></span>';
      }

        summ = summary_img;
    }

    var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';
    div.innerHTML = summary;
}
//]]>
</script>

最佳答案

以下解决方案怎么样:Javascript - Get Image height

它允许您在加载图像之前传递图像的链接以获取其信息,然后您可以执行您想要的任何逻辑。

关于javascript - 在加载 Javascript 之前确定 img 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31504202/

相关文章:

javascript - node.js 中的 PayPal 字段和小数错误

javascript - React Native 中用于处理电子邮件和电话号码链接的任何组件/API

javascript - 使 div 和输入宽度为父级的 100%

javascript - Bootstrap - 居中输入文本框

html - 是否有完全前端的响应式图像脚本/框架?

javascript - afterCreate 数据库 Hook 进程准备就绪后如何向客户端发送消息?

html - 在图像顶部垂直居中标题

html - 如何做水平子菜单

c# - MySQL BLOB 图像数据逐渐丢失?

macos - 如何将像素数组转储为 png?