之前在做图片轮播的时候发现的问题,我要实现的是轮播的图片(数量为6)限定最大长和宽来等比例缩放要展示的图,但是图片在Chrome和Opera上图片不显示,但是在IE8和火狐上显示正常,原因为用$(function(){})取不到图片,如果用$(window).load(function(){})的话会有6个图片大小的竖立的空白。
所以如果不限定图片数量的话有两种方法:
方法一:
$(window).load(function(){
... //此处省略N行
});
建议方法二:
function resizeimg(obj,maxW,maxH)
{
obj.onload = function (){
var imgW=obj.width;
var imgH=obj.height;
var widthNew=maxW;
var heightNew=maxH;
if(imgW > imgH)
{//宽大于高,限制宽
var widthNew = maxW;
var heightNew = (maxW/imgW)*imgH;
}else{//高大于宽,限制高
var heightNew = maxH;
var widthNew = (maxH/imgH)*imgW;
}
obj.width=widthNew;
obj.height=heightNew;
obj.onload = null;
};
}
切记要加"ojb.οnlοad=null;",并且此处的obj是一个Image().