繁体   English   中英

加载图像后如何获取尺寸?

[英]How to get the dimensions of an image after it has been loaded?

我正在尝试使我的图像在模态中更可靠/响应更快。

然后从数据库(MySQL)中提取图像源,并以模式显示图像。

我有以下代码:

<a class='modal-trigger' href='#view-image' onclick='getImage(`<?php image source; ?>`)'></a>

之后,这就是我的JavaScript

    function getImage(imgsrc){
      $("#item-thumb").attr("src",imgsrc);
      var height = $('#item-thumb').height();
      if(height > '600'){
        console.log(height);
      }else{
        console.log(height);
      } 
    }

我的问题是,当我得到图像的高度时,它始终输出0。我想脚本本身仅获得空白图像,我想吗? 还有其他方法可以使用jQuery获取图像的尺寸吗?

首先,您必须使用单引号'将字符串传递给javascript,然后传递带有反勾号的字符串。

corect

<a class='modal-trigger' href='#view-image' onclick='getImage(`<?php image source; ?>`)'></a>

至:

<a class='modal-trigger' href='#view-image' onclick="getImage('<?php image source;?>')"></a>

另外, href='#view-image'的目的是什么。

您是在单击链接时更改哈希还是调用onclick事件?

如果您需要获取图像高度,则需要在dom(文档)上渲染图像,除非,您无法获取图像高度

如果您在数据库上有图像数据,则使用PHP进行高度操作

list($width, $height, $type, $attr) = getimagesize("image_name.jpg");

您需要等待图像加载后才能获取其高度。 尝试使用以下代码:

$('#item-thumb').load(function () {
  console.log($(this).height());
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM