获取img的本机/自然宽度并设置为最大宽度

时间:2018-08-11 01:42:26

标签: jquery css

我有一组宽度各异的图像。我希望它们的响应宽度为100%,但不要大于其实际大小。

我尝试过:

base64

但是没有任何警报。

我也尝试了此操作,再次没有警报:

$("#mainImg").on('load', function() {
var natWidth = $(this).get(0).naturalWidth;
alert(natWidth);
});

很明显,我缺少了一些东西!

一旦我可以抓住宽度,我想我可以轻松地使用它来设置图像的最大宽度。

1 个答案:

答案 0 :(得分:2)

我使用您的代码将此代码段放在一起,对我来说效果很好。我怀疑您的mainImg ID实际上不是指向img标记,而是可能包含div或类似的标记。那可能吗?

此外,是的,将最大宽度设置为naturalWidth值很容易。只需使用attr。我也在代码中添加了一个示例。

$(document).ready(function($) {
    $('#myImg').on('load', function(e) {
        var natWidth = $(this).get(0).naturalWidth;
        alert(natWidth);
        $(this).attr('maxwidth', natWidth);
        alert($(this).attr('maxwidth'));
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="myImg" src="http://ppls.robertrodes.com/includes/images/Dashboard%20Mockup2.png" />