处理用户上传图片大小不一,前台显示的问题:
function imgonLoad() ... { var w = this.width; var h = this.height; var i = this.i; //alert(w+'=='+h+'====='+i); if(125*h/w>130)...{ document.getElementById('pic'+i).height=130; document.getElementById('pic'+i).width=125*w/h; }} function imgLoad(index,path) ... { try...{ var imgT = new Image(); imgT.i=index; imgT.onload = imgonLoad; imgT.src = path; }catch(e)...{ } }
给每个图片设置,onload属性,
< tr > < td align ="center" valign ="middle" height ="139" background ="../images/festival/bar_01.gif" class ="festival_pic" >< a href ="#" onClick ="MM_openBrWindow('<%=root%>/springart/ArtWorkAction.do?method=doViewDetailIndexShow&imageFileId=<%=vo.getImageFileId() %>&isAddHitRate=true&relationPk=<%=vo.getContentId() %>&tableName=content','作品瀏覽','scrollbars=yes,width=720,height=400')" >< img id ="pic0" src ='<%=request.getContextPath()+gov.cca.ccasp.frontsite.common.helper.ImagePathHelper.getImageURL(vo.getImageUrl(),"small") % > ' οnerrοr="showDefaultListImage(this)" width="125" border="0" > </ a ></ td > < script > ... imgLoad(0,'<%=request.getContextPath()+ImagePathHelper.getImageURL(vo.getImageUrl(),"small") %>'); </ script > </ tr >
参考:
var img = new image();img.src = src;img.onload = function () ... { document.getElementById('img').src = img.src;}
function draw() ... { var ctx = document.getElementById('canvas').getContext('2d'); var img = new Image(); img.src = 'images/rhino.jpg'; img.onload = function()...{ for (i=0;i<4;i++)...{ for (j=0;j<3;j++)...{ ctx.drawImage(img,j*50,i*38,50,38); } } } }