1 /**
2 * 获取图片等比例缩放后的高度
3 * @param wrapWidth 包裹图片层的宽度
4 * @returns {number}
5 */
6 function imgHeight(wrapWidth) {
7 // 图片数据
8 var imgList = [
9 {
10 url: '1.png',
11 width: 750,
12 height: 1186
13 },
14 {
15 url: '2.png',
16 width: 500,
17 height: 1000
18 },
19 {
20 url: '3.png',
21 width: 400,
22 height: 900
23 }
24 ];
25 // 图片缩放后最大高度
26 var imgHeight = 0;
27 // 限制最大高度, 为0则不限制
28 var maxHeight = 593;
29
30 if (imgList.length > 0) {
31 imgHeight = imgList[0].height * (imgList[0].width > 0 ? wrapWidth / imgList[0].width : 0);
32
33 // 多张图
34 if (imgList.length > 1) {
35 imgList.forEach(function(v) {
36
37 // 获取图片中最高的值
38 var itemHeight = v.height * (v.width > 0 ? wrapWidth / v.width : 0);
39 if (itemHeight > imgHeight) imgHeight = itemHeight;
40 });
41 }
42 }
43
44 imgHeight = (maxHeight > 0 && imgHeight > maxHeight) ? maxHeight : imgHeight;
45
46 imgHeight = isNaN(imgHeight) ? 0 : imgHeight;
47
48 return imgHeight;
49 }