如何大量图片缩放 javascript
发布网友
发布时间:2022-04-29 02:58
我来回答
共3个回答
懂视网
时间:2022-05-16 15:43
在公司的工作经常要为客户作产品展示的页面,由于客户上传的图片格式大小不一,缩放后会导致变形,于是在星期天抽了点时间,写了一段JS代码,支持图片的完美缩放。
首先给图片加个标签对,img中不能定义高度或宽度,如下:
在CSS中写入代码:.product_img_div {width:210px;height:190px;overflow:hidden}
作用是控制图片载入时,溢出部分隐藏,这样就不会把界面撑得太难看。
代码如下:
ReSizeImg("product_img",200,180);
function ReSizeImg(cName,w,h){
var reImgs = document.getElementsByTagName("img");
for (j=0;j
if (reImgs[j].className==cName && (reImgs[j].height>h || reImgs[j].width>w)) {
if (reImgs[j].height==reImgs[j].width) {
reImgs[j].height=h;reImgs[j].width=w;
} else if (reImgs[j].height>reImgs[j].width) {
reImgs[j].height=h;
} else if (reImgs[j].height reImgs[j].width=w;
}
}
}
}
测试后,图片大小完美缩放,也解决了在载入时会把界面撑得很难看的问题。
热心网友
时间:2022-05-16 12:51
另一种更智能的方法.就是取出所有的img标签.以下是代码:
function resizepic() {
var xw="100";//*宽度
for (var i=0; i<document.images.length; i++) {
if (document.images[i].width > xw) {
xh=document.images[i].height;
bl=xh/document.images[i].width;
document.images[i].width =xw;
//document.images[i].height=xw*bl;
}
}
}
热心网友
时间:2022-05-16 14:09
你把所以图片的名字或者ID都设置相同,document.getElementById(picid)这样就可以得到相同名字或者ID的数组了,再循环修改第一个数组内容就可以了,代码我想就不用再说了吧