我正在尝试修改一个广泛使用的 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/