jQuery实现按比例缩放图片
在网站中通常要显示各种尺寸的图片,但图片的尺寸不一定符合显示的要求。如果直接指定img的width和height属性的话图片又很可能会被挤压的变形。下面这个代码可以把图片放进一个imgBox,并根据imgBox的大小来按比例缩放图片以适应他,同时图片会在imgBox中居中显示。来看代码:

1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
<title>按比例自动缩放图片</title>
6
7
<script type="text/javascript" src="js/jquery.js"></script>
8
<script type="text/javascript" src="js/drawImg"></script>
9
</head>
10
11
<body>
12
<div id="imgBox" style="width:500px; height:400px; background:#cccccc; overflow:hidden">
13
<img id="img1" alt="" src="images/1.jpg" onload="DrawImg(500,400);" />
14
</div>
15
</body>
16
</html>

1
function DrawImg(boxWidth,boxHeight)
2
{
3
var imgWidth=$("#img1").width();
4
var imgHeight=$("#img1").height();
5
//比较imgBox的长宽比与img的长宽比大小
6
if((boxWidth/boxHeight)>=(imgWidth/imgHeight))
7
{
8
//重新设置img的width和height
9
$("#img1").width((boxHeight*imgWidth)/imgHeight);
10
$("#img1").height(boxHeight);
11
//让图片居中显示
12
var margin=(boxWidth-$("#img1").width())/2;
13
$("#img1").css("margin-left",margin);
14
}
15
else
16
{
17
//重新设置img的width和height
18
$("#img1").width(boxWidth);
19
$("#img1").height((boxWidth*imgHeight)/imgWidth);
20
//让图片居中显示
21
var margin=(boxHeight-$("#img1").height())/2;
22
$("#img1").css("margin-top",margin);
23
}
24
}
25
首先是HTML:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

再是JavaScript:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

分类:
js技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述