完美控制aspx页面显示图片的大小
在一个aspx的页面上有一个图片.要求宽度大于365px时设置宽度为365px;小于365px时图片原尺寸显示.
我用了以下几种方法都不行
1:css样式\
<img id="imgPro" runat="server" class="imgInfo" />.imgInfo{ max-width:365px; width:expression(document.body.clientWidth>365?"365px":"auto"); overflow:hidden;}
this.imgPro.Attributes.Add("onload", "changeImg(this)");//有时可以控制,有时图片就原样显示,必须刷新几次才行
<script language="javascript" type="text/javascript">
<!--
function changeImg(mypic){
var xw=365;
var width = mypic.width;
var height = mypic.height;
var bili = width/height;
var A=width/xw;
if(A>1)
{
mypic.width=xw;
mypic.height=xw/bili;
}
}
//-->
</script>
this.imgPro.Attributes.Add("onload", "javascript:if (this.width>365) this.width=365;");
function ImgW(ImgID,Width){ var obj = document.getElementById(ImgID); if(obj != null) { var w = obj.width; var h = obj.height; if (w > Width){ obj.width = Width; obj.height = h*Width/w; } }};ImgW("aa" ,"365");
[解决办法]
function ImgW(ImgID,Width){
var obj = document.getElementById(ImgID);
if(obj != null)
{
var w = obj.width;
var h = obj.height;
if (w > Width){
obj.width = Width;
obj.height = h*Width/w;
}
}
};
ImgW("aa" ,"365");
[解决办法]
嘿嘿~~~1楼正解
不过如果考虑执行顺序,应该
function ImgW(ImgID,Width){ var obj = document.getElementById(ImgID); if(obj != null) { var w = obj.width; var h = obj.height; if (w > Width){ obj.width = Width; obj.height = h*Width/w; } }};window.onload=function(){ ImgW("aa" ,"365"); }