1
1 //智能微缩图片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
{10
10 if(img.height > maxHeight)11

11
{12
12 img.height = maxHeight;13
13 }14
14 return true;15
15 }16
16 if(maxHeight < 1)17

17
{18
18 if(img.width > maxWidth)19

19
{20
20 img.width = maxWidth;21
21 }22
22 return true;23
23 }24
24 if(img.height > maxHeight || img.width > maxWidth)25

25
{26
26 if((img.height / maxHeight) > (img.width / maxWidth))27

27
{28
28 img.height = maxHeight;29
29 }30
30 else31

31
{32
32 img.width = maxWidth;33
33 }34
34 return true;35
35 }36
36 }主要方法写在SetImgSize.js里面
功能实现原理是在图片加载完毕后(onload事件)用JS实现微缩。
下面是一个测试用的文件test.htm
1
1 <!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 限定了宽度150px9
9 <br /><img alt="" id="img1" onload="setImgSize('img1',150,0);" src="http://img.poco.cn/photo/20060602/972374149620060602140117_1.jpg" />10
10 <br />限定了高度150px11
11 <br /><img alt="" id="img2" onload="setImgSize('img2',0,150);" src="http://img.poco.cn/photo/20060602/972374149620060602140117_4.jpg" />12
12 <br />限定了高度150px、宽度150px13
13 <br /><img alt="" id="img3" onload="setImgSize('img3',150,150);" src="http://static.flickr.com/46/147572720_8b25471150_o.jpg" />14
14 </body>15
15 </html>下载SetImgSize.rar