您的位置:首页 > Web前端 > JavaScript

JS防止变形自动调整图片尺寸

2009-11-27 16:13 363 查看
 有两种方法,如果使用的主题是加载了jQuery库的,因此可以用以下代码实现:

$(document).ready(function() {
$('.post img').each(function() {
var maxWidth = 100; // 图片最大宽度
var maxHeight = 100;    // 图片最大高度
var ratio = 0;  // 缩放比例
var width = $(this).width();    // 图片实际宽度
var height = $(this).height();  // 图片实际高度
 
// 检查图片是否超宽
if(width > maxWidth){
ratio = maxWidth / width;   // 计算缩放比例
$(this).css("width", maxWidth); // 设定实际显示宽度
height = height * ratio;    // 计算等比例缩放后的高度
$(this).css("height", height * ratio);  // 设定等比例缩放后的高度
}
 
// 检查图片是否超高
if(height > maxHeight){
ratio = maxHeight / height; // 计算缩放比例
$(this).css("height", maxHeight);   // 设定实际显示高度
width = width * ratio;    // 计算等比例缩放后的高度
$(this).css("width", width * ratio);    // 设定
967d
等比例缩放后的高度
}
});
});

如果不想加载jQuery库,可以用以下代码:
function ResizeImage(image, 插图最大宽度, 插图最大高度)
{
if (image.className == "Thumbnail")
{
w = image.width;
h = image.height;
 
if( w == 0 || h == 0 )
{
image.width = maxwidth;
image.height = maxheight;
}
else if (w > h)
{
if (w > maxwidth) image.width = maxwidth;
}
else
{
if (h > maxheight) image.height = maxheight;
}
 
image.className = "ScaledThumbnail";
}
}

采用纯JavaScript的话,麻烦点,需要手动为图片加上class=”Thumbnail”,但最终效果是一样的。



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息