<div class="btn-group">
  <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
    Offcanvas Dropdown <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" data-toggle="offcanvas-dropdown" role="menu">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li><a href="#">Something else here</a></li>
    <li><a href="#">Something else here</a></li>
    <li class="divider"></li>
    <li class="offcanvas-toggle"><a href="#"><strong>Offcanvas link</strong></a></li>
    <li class="offcanvas-content">
      <div class="offcanvas-toggle text-right text-muted"><em class="glyphicon glyphicon-remove"></em></div>
      <p>Pellentesque laoreet dapibus aliquam. Morbi fermentum tortor vitae urna placerat sit amet mollis odio eleifend. </p>
    </li>
  </ul>
</div>


//
// OffCanvas Dropdown
//

.dropdown-menu[data-toggle="offcanvas-dropdown"] {
  overflow: hidden;
  > li > a {
    -webkit-transition: -webkit-transform ease .2s;
  }
  &.open {
    .offcanvas-content {
      right: 0;
      left: 15px;
      box-shadow: 0 0 100px rgba(0, 0, 0, 0.75);
    }
    > li > a {
      -webkit-transform: translateX(-50%);
    }
  }  
}

.offcanvas-content {
  position: absolute;
  top:0; bottom: 0;
  right: -100%;
  left: 100%;;
  background-color: #fff;
  overflow-y: auto;
  transition: all ease .2s;
  -webkit-transition: all ease .2s;
}

.offcanvas-toggle {
  font-weight: bold;
  cursor: pointer;
}

// Styling

body {
  margin: 50px;
  text-align: center;
  background-color: #f1f2f3;
}

.dropdown-menu {
  text-align: left;
  box-shadow: none;
}

.offcanvas-content {
  padding: 5px 10px;
}
View Compiled
$(function(){
  var selector         = '[data-toggle="offcanvas-dropdown"]',
      selectorToggle   = '.offcanvas-toggle',
      selectorContent  = '.offcanvas-content',
      $element         = $(selector)
      ;
  
  // disable dropdown on custom elements
  $(document)
      .on('click.bs.dropdown', 
          selectorToggle + ',' + selectorContent,
          function(e) {
            e.stopPropagation();
      })
      .on('click', selectorToggle, toggleOffCanvas);
  
  // dropdown triggers event on parent element
  $('.btn-group').on('hidden.bs.dropdown', closeOffCanvas)
  
  // API
  function toggleOffCanvas() {
    $element.toggleClass('open');
  }
  function closeOffCanvas() {
    $element.removeClass('open');
  }
})

External CSS

  1. //netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js
  2. //netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js