本文介绍一段用于防止图片撑破页面的JavaScript代码。通过监听图片加载事件,获取图片原始宽高,并根据设定的最大宽度(180)和高度(110)进行等比例缩放计算。代码确保图片在超出限制时按比例缩小,保持宽高比不变,避免布局变形。
JavaScript图片缩放代码实现
将以下JavaScript代码放置在页面的任意位置即可生效。
<script language="JavaScript">
<!--
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=https://www.jb51.net/htmldata/2006-01-08/ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= 180/110){
if(image.width>180){
ImgD.width=180;
ImgD.height=(image.height*110)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
/*ImgD.alt="bigpic" */
}
else{
if(image.height>110){
ImgD.height=110;
ImgD.width=(image.width*110)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
/*ImgD.alt="bigpic" */
}
}
}
//-->
</script>
HTML图片标签调用方法
在需要展示图片的HTML元素中添加如下代码:
<img src="https://www.jb51.net/htmldata/2006-01-08/图片" border=0 width="180" height="110" onload="javascriptrawImage(this);">
注意这里的 width="180" height="110" 属性设置。建议明确限定初始宽高,否则图片会先以原始尺寸加载,随后再被脚本缩小,若图片过大,此过程会导致明显的视觉闪烁或布局跳动。此处的宽高数值需与JS代码中的判断阈值保持一致。
该方案仅按固定比例缩放图片,不会导致图像变形,可放心使用。