日期:2014-05-17  浏览次数:21096 次

贴图论坛如何控制图片大小,防止页面被撑开
现在的方法有CSS控制   JS控制   但都不能完美地控制大小,会出现无法控制的情况。
大家平时做程序时都是怎么处理的呢?

------解决方案--------------------
最标准的方法是通过aspjpeg改变图片实际大小
------解决方案--------------------
把这句话放在 <head> 和 </head> 中间

<script language= "javascript ">
function RatImg(Img,blw,blh)
{
var i=Img.width;
var j=Img.height;

if (i> blw)
{
var zjbl1=blw/i;
var zjbl2=blh/j;
if (zjbl1 <zjbl2)
{
zjbl=zjbl1;
}
else
{
zjbl=zjbl2;
}
i=i*zjbl;
j=j*zjbl;
}
else
{
if (j> blh)
{
zjbl=blh/j;
j=blh;
i=i*zjbl;
}
}

Img.width=i;
Img.height=j;
}
</script>

把这句话放在引用图片的语句中 onload= "RatImg(this,291,231) "

291和231换成相应实际的宽度和高度。

------解决方案--------------------
如上代码
或者如下

<img src= "ddd.jpg " onload= "&#106avascript:if(this.width> screen.width-380)this.width=screen.width-380 " />
------解决方案--------------------
///自适应表格大小的图像///
<table style= "table-layout:fixed ">
....
<img class= "myimg " border= "0 " src= "*.jpg ">
....

<script>
var imgarray = document.getElementsByTagName( 'img ');
if(document.getElementById( "防止被撑坏的div的id "))
{
var imgwidth = document.getElementById( "防止被撑坏的div的id ").parentNode.offsetWidth;
for(var i=0; i <imgarray.length; i++){
if(imgarray[i].className== "myimg " && imgarray[i].width> =imgwidth) imgarray[i].width=imgwidth;
}
}
</script>