// Note: this function assumes that img obj is already loaded: function FitImageToSize(ImgObj,xMax,yMax){ // max: xMax = parseInt(xMax); yMax = parseInt(yMax); // make sure max values are numbers // actual: var xActual = parseInt(ImgObj.width); var yActual = parseInt(ImgObj.height); // new: var xNew = xActual; var yNew = yActual; // resize? if((xActual > xMax) || (yActual > yMax)){ // resize needed: // which axis exceeds its max value most? var xExtra = xActual - xMax; var yExtra = yActual - yMax; if(xExtra > yExtra){ // set x, then calculate y xNew = xMax; yNew = parseInt((xNew * yActual) / xActual); }else{ // set y, then calculate x yNew = yMax; xNew = parseInt((xActual * yNew) / yActual); } } // update img style with new dimensions ImgObj.style.width = xNew + "px"; ImgObj.style.height = yNew + "px"; //return ImgObj; }