我有以下代码,我检查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中这是一种错误,因为我正在移除图像的高度属性。
如果存储旧的宽度和高度,计算图像比例高度的最简单方法是什么?我有一个新的宽度,我想计算适当的高度。
我似乎无法找到一个简单的数学解决方案。
所以再一次,我不想从图像中删除height属性,而是计算比例高度。
谢谢tipp。 问候答案 0 :(得分:2)
var newHeight = newWidth / oldWidth * oldHeight;
newWidth / oldWidth
为您提供调整大小比例。如果原始宽度为800且新宽度为400,则该比率为0.5。如果您的原始高度为600,并且您将其与此比率相乘,则得到300. 800x600与400x300的比率相同。