最新消息:Rockyxia Web技术博客全新改版,响应式布局满足各种设备各种尺寸的访问需求。

js控制图片显示的宽度

我的知识库 rockyxia 7250浏览 0评论

给图片限制一个最大宽度,如果图片宽度小于这个宽度,就显示图片原来的大小
如果超过这个宽度,就限制在一个固定质上,如下简单做法(js脚本)

[html]
<img src=imgpath onload=’javascript:if(this.width>200)this.width=200;’>
[/html]

我这个方法可能比较野蛮哈,效率方面不是很好,希望大家跟我分享你们的好办法哈!

我这里还有二个比较复杂的方法,也分享出来吧,看以下方法:

1、显示file表单里图片的宽度和高度,可以把如下代码存成网页形式,浏览一下效果。
代码开始:

[html]
<html>
<head>
<title>显示上传图像的大小</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<FORM name=form action="" method=post encType=multipart/form-data>
<INPUT onpropertychange=document.all.aaaa.src=this.value type=file name=upload><BR>
宽:<INPUT name=W> <br>
高:<INPUT name=H><BR>
<INPUT type=submit value=提交>
<IMG style="POSITION: absolute; TOP: -100000px" onerror=’alert("类型错误或者目标不存在");’ onload={document.all.W.value=this.width;document.all.H.value=this.height;} name=aaaa> </FORM>
</body>
</html>
[/html]

2、按比例控制宽度和高度的函数:

[javascript]
function openimg(imgobj){
imgobj.style.cursor="pointer";
var thesrc=imgobj.src;
if(IE){var f =new Function("event","window.open(‘"+thesrc+"’)");imgobj.attachEvent("onclick",f);}
else{imgobj.setAttribute("onclick","window.open(‘"+thesrc+"’)")}
}
function ResizeImg(obj,theWidth,theHeight){
if(obj!=null){
var imglist=obj.getElementsByTagName("img");
if(imglist!=null){
var a;
for(a=0;a<imglist.length;a++){
alert(imglist[a].width);
if(imglist[a].width>theWidth){
imglist[a].height=Math.round(imglist[a].height*(theWidth/imglist[a].width))
imglist[a].width=theWidth;
openimg(imglist[a]);
}
if(imglist[a].height>theHeight){
imglist[a].width=Math.round(imglist[a].width*(theHeight/imglist[a].height))
imglist[a].height=theHeight
openimg(imglist[a]);
}
}
}
}
}
[/javascript]

转载请注明:Rockyxia Web技术博客 » js控制图片显示的宽度
感谢阅读,如果您发现文章中有表述不准确,欢迎提出来,也欢迎交流相关问题,你可以去这里进行一对一问答交流。

(本篇完)