读书人

完美控制aspx页面显示图片的大小,该如

发布时间: 2012-03-05 11:54:01 作者: rapoo

完美控制aspx页面显示图片的大小
在一个aspx的页面上有一个图片.要求宽度大于365px时设置宽度为365px;小于365px时图片原尺寸显示.
我用了以下几种方法都不行
1:css样式\

HTML code
<img id="imgPro" runat="server" class="imgInfo" />.imgInfo{ max-width:365px; width:expression(document.body.clientWidth>365?"365px":"auto"); overflow:hidden;} 

2:CS代码控制调用脚本
C# code
this.imgPro.Attributes.Add("onload", "changeImg(this)");//有时可以控制,有时图片就原样显示,必须刷新几次才行

脚本:
HTML code
 <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>

3:
C# code
this.imgPro.Attributes.Add("onload", "javascript:if   (this.width>365)   this.width=365;");

以上几种方法都不行.
求教,能完美控制的方法.


[解决办法]
JScript code
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楼正解
不过如果考虑执行顺序,应该

JScript code
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"); } 

读书人网 >JavaScript

热点推荐