11 //智能微缩图片JS方法
2 2 //参数:imgID(图片的标识ID)
3 3 //参数:maxWidth(图片的最大宽度,值为0则表示不限制宽度)
4 4 //参数:maxHeight(图片的最大高度,值为0则表示不限制高度)
5 5 function setImgSize(imgID,maxWidth,maxHeight)
6 6 {
7 7 var img = document.images[imgID];
8 8 if(maxWidth < 1)
9 9 {
1010 if(img.height > maxHeight)
1111 {
1212 img.height = maxHeight;
1313 }
1414 return true;
1515 }
1616 if(maxHeight < 1)
1717 {
1818 if(img.width > maxWidth)
1919 {
2020 img.width = maxWidth;
2121 }
2222 return true;
2323 }
2424 if(img.height > maxHeight || img.width > maxWidth)
2525 {
2626 if((img.height / maxHeight) > (img.width / maxWidth))
2727 {
2828 img.height = maxHeight;
2929 }
3030 else
3131 {
3232 img.width = maxWidth;
3333 }
3434 return true;
3535 }
3636 }
主要方法写在SetImgSize.js里面
功能实现原理是在图片加载完毕后(onload事件)用JS实现微缩。
下面是一个测试用的文件test.htm
11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html xmlns="http://www.w3.org/1999/xhtml" >
3 3 <head>
4 4 <title>测试</title>
5 5 <script language="javascript" type="text/javascript" src="setImgSize.js"></script>
6 6 </head>
7 7 <body>
8 8 限定了宽度150px
9 9 <br /><img alt="" id="img1" onload="setImgSize('img1',150,0);" src="http://img.poco.cn/photo/20060602/972374149620060602140117_1.jpg" />
1010 <br />限定了高度150px
1111 <br /><img alt="" id="img2" onload="setImgSize('img2',0,150);" src="http://img.poco.cn/photo/20060602/972374149620060602140117_4.jpg" />
1212 <br />限定了高度150px、宽度150px
1313 <br /><img alt="" id="img3" onload="setImgSize('img3',150,150);" src="http://static.flickr.com/46/147572720_8b25471150_o.jpg" />
1414 </body>
1515 </html>
下载SetImgSize.rar