JavaScript动态改变网页图片大小

2016-02-20 01:09 36 1 收藏

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐JavaScript动态改变网页图片大小,赶紧看过来吧!

【 tulaoshi.com - Web开发 】

在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

我前段时间写的一篇文章就遇到过这种事情,后来用CSS的overflow和max-width属性暂时解决了页面变形的问题。这种方法好处是简单,但坏处是会破坏某些细节的效果。

如overflow:hidden,意思是当内部元素宽度大于父框架时隐藏超出宽度的部分。这样做可能会是一些内容突然截断,被隐藏了,很对不起观众。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

通过max-width属性限制文章插图最大宽度的话,需要考虑各浏览器的兼容性。IE6是不支持这个属性的,在我印象中,一些浏览器虽然支持这个属性,但图片不是等比缩放的(好像是Safari和Opera,记不清了),这样做的话对这些浏览器的用户很不公平。

因此,我最终选择的是通过JavaScript动态改变图片尺寸。这种方法对各种浏览器兼容性良好(现在应该很少人会禁用JavaScript吧?),如果换主题的话,也可以灵活地改变文章插图的最大尺寸。

方案有两个,由于我使用的主题是加载了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);// 设定等比例缩放后的高度
}
});
});

如果不想加载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";
}
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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

来源:https://www.tulaoshi.com/n/20160220/1633379.html

延伸阅读
标签: 电脑入门
我们在工作和生活总常常会碰到要图片过大或是在网上报名时照片不符合尺寸。比如公务员考试、报关员等考试,还是网上分享图片时图片太大无法上传等等。 这时就需要修改图片大小或是尺寸,如果你会使用像Photoshop这样的专业软件是很容易的,但大多数人不会使用软件,这里我向大家介绍一下在线修改图片大小的方法。 工具/原料 在线修改图片...
标签: 电脑入门
这里介绍两种常用的方式: 直接移动尺寸控点: 将鼠标指针置于图片的一个尺寸控点之上。 拖动尺寸控点,直至得到所需的形状和大小。 在设置对象格式对话框中更改: 在右键菜单中,选择设置对象格式。 弹出设置对象格式对话框,选择大小选项卡。 要相应的文本框中键入或选择所需的确切值。 如果要复位图片的原始大小,请单击原始尺寸下的...
画图软件如何快速缩小图片大小   越来越多的人有能力购买和拥有一台属于自己的相机,并随时随地拍摄下身边美好的一切,但是我们发现照相机拍下的文件像素很高,所以照片很大,分辨率高的甚至都达到10M。 然而有些照片,并不需要细致入微地查看,所以浪费了硬盘空间。那么如何快速缩小图片大小呢?今天就教大家,很简单的哦!一起来...
标签: Web开发
script language=Javascriptvar proMaxHeight = 150;var proMaxWidth = 110; function proDownImage(ImgD){ var image=new Image(); image.src=ImgD.src; if(image.width0 && image.height0){ var rate = (proMaxWidth/image.width proMaxHeight/image.height)?proMaxWidth/image.width:proMaxHeight/image....
光影魔术如何批量修改图片大小   很多时候我们使用手机或者相机拍摄出来的照片尺寸都非常大,儿这些原始的大图片不仅非常占用空间,并且有时候我们要传到网上相册或者云空间的话,也都非常慢,因此我们通常会在上传之前,修改图片大小。那么是否可以批量一次性修改图片大小呢?答案是肯定的,今天百事网小编就来教大家如何批量修改图片...

经验教程

963

收藏

90
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部