tabs Question 2

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<div class="container">
  <div class="scroller scroller-left"><i class="glyphicon glyphicon-chevron-left"></i></div>
  <div class="scroller scroller-right"><i class="glyphicon glyphicon-chevron-right"></i></div>
  <div class="wrapper">
    <ul class="nav nav-tabs list" id="myTab">
      <li class="active"><a href="#home">Home</a></li>
      <li><a href="#profile">Profile</a></li>
      <li><a href="#messages">Messages</a></li>
      <li><a href="#settings">Settings</a></li>
      <li><a href="#">Tab4</a></li>
      <li><a href="#">Tab5</a></li>
      <li><a href="#">Tab6</a></li>
      <li><a href="#">Tab7</a></li>
      <li><a href="#">Tab8</a></li>
      <li><a href="#">Tab9</a></li>
      <li><a href="#">Tab10</a></li>
      <li><a href="#">Tab11</a></li>
	  <li><a href="#">Tab12</a></li>
      <li><a href="#">Tab13</a></li>
      <li><a href="#">Tab14</a></li>
	  <li><a href="#">Tab15</a></li>
      <li><a href="#">Tab16</a></li>
      <li><a href="#">Tab17</a></li>
         <li><a href="#">Tab18</a></li>
      <li><a href="#">Tab19</a></li>
      <li><a href="#">Tab20</a></li>
      <li><a href="#">Tab21</a></li>
      <li><a href="#">Tab22</a></li>
      <li><a href="#">Tab23</a></li>
      <li><a href="#">Tab24</a></li>
      <li><a href="#">Tab25</a></li>
	  <li><a href="#">Tab26</a></li>
      <li><a href="#">Tab27</a></li>
      <li><a href="#">Tab28</a></li>
	  <li><a href="#">Tab29</a></li>
      <li><a href="#">Tab30</a></li>
      <li><a href="#">Tab31</a></li>
         <li><a href="#">Tab32</a></li>
      <li><a href="#">Tab33</a></li>
      <li><a href="#">Tab34</a></li>
      <li><a href="#">Tab35</a></li>
      <li><a href="#">Tab36</a></li>
      <li><a href="#">Tab37</a></li>
      <li><a href="#">Tab38</a></li>
      <li><a href="#">Tab39</a></li>
	 ...

CSS

.wrapper {
    position:relative;
    margin:0 auto;
    overflow:hidden;
	padding:5px;
  	height:50px;
}

.list {
    position:absolute;
    left:0px;
    top:0px;
  	min-width:3000px;
  	margin-left:12px;
    margin-top:0px;
}

.list li{
	display:table-cell;
    position:relative;
    text-align:center;
    cursor:grab;
    cursor:-webkit-grab;
    color:#efefef;
    vertical-align:middle;
}

.scroller {
  text-align:center;
  cursor:pointer;
  display:none;
  padding:7px;
  padding-top:11px;
  white-space:no-wrap;
  vertical-align:middle;
  background-color:#fff;
}

.scroller-right{
  float:right;
}

.scroller-left {
  float:left;
}

JavaScript

var hidWidth;
var scrollBarWidths = 40;

var widthOfList = function(){
  var itemsWidth = 0;
  $('.list li').each(function(){
    var itemWidth = $(this).outerWidth();
    itemsWidth+=itemWidth;
  });
  return itemsWidth;
};

var widthOfHidden = function(){
  return (($('.wrapper').outerWidth())-widthOfList()-getLeftPosi())-scrollBarWidths;
};

var getLeftPosi = function(){
  return $('.list').position().left;
};

var reAdjust = function(){
  if (($('.wrapper').outerWidth()) < widthOfList()) {
    $('.scroller-right').show();
  }
  else {
    $('.scroller-right').hide();
  }
  
  if (getLeftPosi()<0) {
    $('.scroller-left').show();
  }
  else {
    $('.item').animate({left:"-="+getLeftPosi()+"px"},'slow');
  	$('.scroller-left').hide();
  }
}

reAdjust();

$(window).on('resize',function(e){  
  	reAdjust();
});

$('.scroller-right').click(function() {
  
    $('.scroller-left').fadeIn('slow');
    
    $remained = $('.list').width() - $('.wrapper').width() + parseInt($('.list').css('left'));
 
    if ($remained >= $('.wrapper').innerWidth()) {
    	$left = $('.wrapper').innerWidth();
    } else {
        $left = $remained;
        $('.scroller-right').fadeOut('slow');
    }
    
    $('.list').animate({left:"-=" + $left + "px"},'slow');
});

$('.scroller-left').click(function() {
  
	$('.scroller-right').fadeIn('slow');
    
    if (-parseInt($('.list').css('left')) > $('.wrapper').innerWidth()) {
        $left = -$('.wrapper').innerWidth();
    } else {
        $left = parseInt($('.list').css('left'));
		$('.scroller-left').fadeOut('slow');
    }
  
  	$('.list').animate({left:"-=" + $left + "px"},'slow');
});