jquery/javascript - image resize to fit screen
- by alberto
not an expert programmer.
i created this code to resize photos/images to fit the screen, considering the space available for the nav bar.
the script happens on load of image, and on click of the navigation. is it a good piece of code, or could it be done better? any browser issues?
in the html:
$(document).ready(function(){
 $("#photo").load(function(){
  resize();
 });
 $(".navigation img").click(function(){
  var imgPath = $(this).attr("src"); 
  $("#photo").attr({ src: imgPath });
  resize();
  return false;
       });
   });
while this is my function resize:
resize = function() {
    var borderVt=150; //value based on css style. bottom bar + padding of photoContain
    var borderHz=40; //value based on css style photoContain padding
    $("#photo").css("width", "auto").css("height", "auto"); // Remove existing CSS
    $("#photo").removeAttr("width").removeAttr("height"); // Remove HTML attributes   
    var origSizeW = $("#photo").width();
    var origSizeH = $("#photo").height();
    var ratioVt=(origSizeW/origSizeH);
    var ratioHz=(origSizeH/origSizeW);
    var winW = $(window).width();
    var winH = $(window).height();
    var screenSizeW=Math.round(winW-borderHz);
    var screenSizeH=Math.round(winH-borderVt);
    if (origSizeW>=origSizeH){
     var newHeight = Math.round(screenSizeW*ratioHz);
     if (newHeight <= screenSizeH){
      $("#photo").css("width", screenSizeW); // Set new width
      $("#photo").css("height", newHeight);
      }
     else{
      $("#photo").css("height", screenSizeH);
      }
    }
    else{
    $("#photo").css("height", screenSizeH); // Set new height
    }
  };