关于控制图片大小,防止图片变形问题
防止图片变形,这种JS代码很多了网上,在图片onload事件中:
function ReSizeimgPlay(ImgDs,iwidth,iheight) {
var ImdD=document.getElementById(ImgDs);
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
if(image.width/image.height>= iwidth/iheight){
if(image.width>iwidth){
ImgD.width=iwidth;
ImgD.height=(image.height*iwidth)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"×"+image.height;
}
}
}这样会出现问题,当页面有很多图片要一起显示的时候经常会有几张图片没有受到效果,使整个页面挤的一塌糊涂.查了些资料自己也测试过可能一些onload事件没有执行,于是在最下面加上代码<script>window.onload=function(){a();}</script> 这里的a()函数就是循环所有要控制的图片,然后控制不变形.但是还是会有几张图片不听话没效果,大部分都有效果.后来我随便写了发现有一种方法每次都有效果,就是不明白为什么??所以想问问.
方法是这样<script>
window.onload=function(){a();};
a();</script> (a()函数我前面已经说明过了不贴出来),这两句话缺一不可,页面载入的时候刚开始会出现一些图片不受控制,但很快不受控制的图片马上缩放回去受到作用了.为什么会这样呢