jquery:按比例调整图像大小 data() 方法?
我有以下代码,我在 onload 中检查图像的原始大小:
$(".post-body img").each(function() {
$(this).data('width', $(this).width());
$(this).data('height', $(this).height());
});
之后,我将所有图像的大小调整为父 div .post-body 的宽度。
var bw = $('.post-body').width();
$(".post-body img").each(function() {
// Check the width of the original image size
if (bw < $(this).data('width')) {
$(this).removeAttr('height');
$(this).attr( 'width', bw );
//$(this).attr( 'height', height-in-ratio );
}
});
这很好用!所以我正在检查 .post-body 宽度是否小于图像的原始宽度,我正在将图像大小调整为与 div 相同的宽度。
但是我认为这在某些旧版本的 Internet Explorer 中存在问题,因为我正在删除图像的高度属性。
如果存储旧的宽度和高度,计算图像比例高度的最简单方法是什么?我有一个新的宽度,我想计算适当的高度。
我似乎找不到一个简单的数学解决方案。
再说一遍,我不想从图像中删除高度属性,而是计算比例高度。
谢谢你的小费。 问候
i'm having the following code where i check onload what the original size of an image is:
$(".post-body img").each(function() {
$(this).data('width', $(this).width());
$(this).data('height', $(this).height());
});
after that i'm resizing all images to the width of the parent div .post-body.
var bw = $('.post-body').width();
$(".post-body img").each(function() {
// Check the width of the original image size
if (bw < $(this).data('width')) {
$(this).removeAttr('height');
$(this).attr( 'width', bw );
//$(this).attr( 'height', height-in-ratio );
}
});
this works just fine! so i'm checking if the .post-body width is smaller than the original width of the image i'm resizing the image to the same width as the div.
however i think this is kind of buggy in some older versions of Internet Explorer because i'm removing the height-attribute of the image.
what is the easiest way to calculate the proportional height of an image if the old width and height is stored? i have a new width and i want to calculate the appropriate height.
i cannot seem to find an easy mathematical solution.
So again, i don't want to remove the height attribute from the image, but calculate the proportional height.
thank you for the tipp.
regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
newWidth / oldWidth
为您提供调整大小比率。如果原始宽度为 800,新宽度为 400,则该比率变为 0.5。如果您的原始高度为 600,并将其乘以该比率,则得到 300。800x600 与 400x300 的比率相同。newWidth / oldWidth
gives you the resize ratio. If the original width is 800 and new width 400, this ratio becomes 0.5. If your original height was 600 and you multiply it with this ratio, you get 300. 800x600 is the same ratio as 400x300.