JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<div class="col-xs-3 col-sm-3 col-md-3" id="Wrapper">
    <div class="row">
        <img src="http://img42.com/p2OH4+" class="arrows" id="upArrow" height="128" width="128" />
        <div id="itemWrapper">
            <div id="items">
                <div class="col-xs-12 col-sm-12 col-md-12 content">
                    <input type="image" src="http://img42.com/p2OH4+" class="thumb" />
                </div>
                <div class="col-xs-12 col-sm-12 col-md-12 content">
                    <input type="image" src="http://img42.com/p2OH4+" class="thumb" />
                </div>
                <div class="col-xs-12 col-sm-12 col-md-12 content">
                    <input type="image" src="http://img42.com/p2OH4+" class="thumb" />
                </div>
            </div>
        </div>
        <img src="http://img42.com/h1DoP+" class="arrows" id="downArrow" height="128" width="128" />
    </div>
</div>

CSS

#Wrapper {
    height: 100%;
    border: 1px solid #f60;
    text-align:center;
    width:300px;
}
#itemWrapper {
    height: 200px;
    overflow: hidden;
    position: relative;
    border: 1px solid brown;
    margin-top:-15px;
    margin-bottom:-15px;
}
#items {
    height: 99%;
    overflow: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: -15px;
    border: 1px solid blue;
}
.content {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 0;
}
.thumb {
    width: 70%;
}
.arrows {
    border: 3px solid lime;
    display:inline-block;
    background:red;
    position:relative;
    z-index:10;
}

JavaScript

var items = $('#items');
var upArrow = $('#upArrow');
var downArrow = $('#downArrow');
var scrollFactor = 100;
var scrollLeeway = 2;

items.on('scroll', onScroll);

function onScroll() {
    if (items.scrollTop() === 0) {
        upArrow.css('opacity', 0.1);
    } else if (items[0].scrollHeight - items.scrollTop() <= items.height() + scrollLeeway) {
        downArrow.css('opacity', 0.1);
    } else {
        upArrow.removeAttr('style');
        downArrow.removeAttr('style');
    }
}

function onUp(){ items.scrollTop(items.scrollTop() - scrollFactor); }
function onDown(){ items.scrollTop(items.scrollTop() + scrollFactor); }