JSFiddle - React, Tailwind, and code Playground

HTML

<div id='cover' class='bgthumb'><img src='http://fc01.deviantart.net/fs71/f/2011/192/5/2/portrait_test_by_ev_r_more578-d3lp0nv.jpg'></div>

<div id='cover' class='bgthumb'><img src='http://filipfolkesson.com/wp-content/uploads/2011/12/landscape-test.png'></div>

<div id='contain' class='bgthumb'><img src='http://fc01.deviantart.net/fs71/f/2011/192/5/2/portrait_test_by_ev_r_more578-d3lp0nv.jpg'></div>

<div id='contain' class='bgthumb'><img src='http://filipfolkesson.com/wp-content/uploads/2011/12/landscape-test.png'></div>

CSS

.bgthumb
{
    width:120px;
    height:80px;
}

JavaScript

(function($) {
  $.fn.imagefit = function(contain) {
    this.each( function() {
      var $this           = $(this),
          $wrapper        = $this.parent(),
          wrapper_width   = $wrapper.width(),
          wrapper_height  = $wrapper.height(),
          wrapper_ratio,
          image_ratio;

       
        // ratios
      image_ratio   = $this.width() / $this.height();
      wrapper_ratio = wrapper_width / wrapper_height;
        
      var ratio_cond = wrapper_ratio > image_ratio;
        if(contain) {
            ratio_cond = !ratio_cond;
        }

      if ( ratio_cond ) {
          $wrapper.css({
            'background'  : 'url('+$this.get(0).src+')',
            'background-size'  : '100% auto',
            'background-position'  : '0px 50%',
            'background-repeat'  : 'no-repeat',
            'background-color'  : '#FF00FF',
            'border'  : '1px solid black'
          });
      } else {
          $wrapper.css({
            'background'  : 'url('+$this.get(0).src+')',
            'background-size'  : 'auto 100%',
            'background-position'  : '50% 0px',
            'background-repeat'  : 'no-repeat',
            'background-color'  : '#FF00FF',
            'border'  : '1px solid black'
          });
      }

      $this.remove();
        
    });
    return this;
  };
    
  $('div.bgthumb#cover > img').imagefit(false);               
  $('div.bgthumb#contain > img').imagefit(true);               
    
}(jQuery));