我有一组宽度各异的图像。我希望它们的响应宽度为100%,但不要大于其实际大小。
我尝试过:
base64
但是没有任何警报。
我也尝试了此操作,再次没有警报:
$("#mainImg").on('load', function() {
var natWidth = $(this).get(0).naturalWidth;
alert(natWidth);
});
很明显,我缺少了一些东西!
一旦我可以抓住宽度,我想我可以轻松地使用它来设置图像的最大宽度。
答案 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" />